shaderkit 0.2.0 → 0.2.1

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2023 Cody Bennett
3
+ Copyright (c) 2023-2024 Cody Bennett
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class fe{constructor(t){this.value=t}}class A{constructor(t){this.value=t}}class D{constructor(t,r){this.name=t,this.parameters=r}}class F{constructor(t,r){this.name=t,this.value=r}}class P{constructor(t,r,n,s,u){this.layout=t,this.qualifiers=r,this.kind=n,this.type=s,this.declarations=u}}class he{constructor(t,r){this.name=t,this.members=r}}class ge{constructor(t,r,n,s,u){this.name=t,this.type=r,this.qualifiers=n,this.args=s,this.body=u}}class O{constructor(t,r,n){this.operator=t,this.left=r,this.right=n}}class M{constructor(t,r,n){this.operator=t,this.left=r,this.right=n}}class de{constructor(t,r,n){this.test=t,this.consequent=r,this.alternate=n}}class ve{constructor(t,r){this.callee=t,this.args=r}}class xe{constructor(t,r){this.object=t,this.property=r}}class C{constructor(t,r){this.type=t,this.members=r}}class we{constructor(t){this.body=t}}class _e{constructor(t,r,n){this.test=t,this.consequent=r,this.alternate=n}}class ye{constructor(t,r,n,s){this.init=t,this.test=r,this.update=n,this.body=s}}class Se{constructor(t,r){this.test=t,this.body=r}}class be{constructor(t,r){this.test=t,this.body=r}}class T{constructor(t,r){this.test=t,this.consequent=r}}class De{constructor(t,r){this.discriminant=t,this.cases=r}}class Ee{constructor(t){this.argument=t}}class ke{constructor(t,r){this.name=t,this.value=r}}class Re{constructor(t,r){this.precision=t,this.type=r}}class Le{}class Ae{}class Be{}const Ce=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","false","fn","for","if","let","loop","override","return","struct","switch","true","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],Ie=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","true","false","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],Oe=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],Me=[...Oe,"#","\\"],Te=[...Oe,"->","@"],We=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/),ae=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),Ue=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),je=RegExp.prototype.test.bind(/^(true|false)$/),$e=48,Ye=57,ze=65,Ne=90,He=10,Xe=13,Ke=9,Ze=32,Qe=95,re=47,ie=42,Je=35,et=64,Fe=e=>$e<=e&&e<=Ye,tt=e=>(e&=-33,ze<=e&&e<=Ne),nt=e=>e===He||e===Xe,oe=e=>nt(e)||e===Ke||e===Ze,le=e=>tt(e)||Fe(e)||e===Qe,st=e=>e===Je||e===et;function q(e,t=0){const r=[];let n=-1;const[s,u]=We(e)?[Ce,Te]:[Ie,Me];for(;t<e.length;){let o=e[t];const i=e.charCodeAt(t++);if(oe(i)){for(;oe(e.charCodeAt(t));)o+=e[t++];r.push({type:"whitespace",value:o})}else if(Fe(i)){for(;ae(o+e[t])||Ue(o+e[t]);)o+=e[t++];ae(o)?r.push({type:"float",value:o}):r.push({type:"int",value:o})}else if(le(i)){for(;le(e.charCodeAt(t));)o+=e[t++];je(o)?r.push({type:"bool",value:o}):s.includes(st(n)?String.fromCharCode(n)+o:o)?r.push({type:"keyword",value:o}):r.push({type:"identifier",value:o})}else if(i===re&&(e.charCodeAt(t)===re||e.charCodeAt(t)===ie)){const l=e.charCodeAt(t)===ie?"*/":`
2
- `;for(;!o.endsWith(l);)o+=e[t++];r.push({type:"comment",value:o})}else{for(const l of u)l.length>o.length&&e.startsWith(l,t-1)&&(o=l);t+=o.length-1,r.push({type:"symbol",value:o})}n=i}return r}const ce=RegExp.prototype.test.bind(/^\w/),at=RegExp.prototype.test.bind(/[^\w\\]/),ue=RegExp.prototype.test.bind(/^[_A-Za-z]/),rt=RegExp.prototype.test.bind(/[;{}\\@]/),pe=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function it(e,{mangle:t=!1,mangleMap:r=new Map,mangleExternals:n=!1}={}){var s,u,o,i,l,d,h,m,x,w,g,S,I,U,j,W,N,H,Y,Z,K,X;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const J=new Map,v=q(e).filter(p=>p.type!=="whitespace"&&p.type!=="comment");let Q=-1,ee=-1,$=-1,L="";for(let p=0;p<v.length;p++){const b=v[p];(pe(b.value)||rt((s=v[p-1])==null?void 0:s.value))&&(ee=p),b.value==="{"&&ue((u=v[p-1])==null?void 0:u.value)?$=p-1:b.value==="}"&&($=-1),ce(b.value)&&ce((o=v[p-1])==null?void 0:o.value)&&(L+=" "),at(b.value)&&(((i=v[p-2])==null?void 0:i.value)==="#"&&((l=v[p-1])==null?void 0:l.value)==="include"||((d=v[p-3])==null?void 0:d.value)==="#"&&((h=v[p-2])==null?void 0:h.value)==="define")&&(L+=" ");let R=b.value;if(((m=v[p-1])==null?void 0:m.value)==="."&&(R=`${(x=v[p-2])==null?void 0:x.value}.`+R),b.type==="identifier"&&R!=="main"&&(typeof t=="boolean"?t:t(b,p,v))){const te=((w=v[p-1])==null?void 0:w.value)==="}"&&((g=v[p+1])==null?void 0:g.value)===";",z=pe((S=v[ee])==null?void 0:S.value),ne=z&&((I=v[p-1])==null?void 0:I.value)===",";let E=(U=r.get(R))!=null?U:J.get(R);if(!E&&$===-1&&(ue((j=v[p-1])==null?void 0:j.value)||te||ne||((W=v[p-1])==null?void 0:W.type)==="symbol"&&((N=v[p+1])==null?void 0:N.value)===":")&&(n||!z)){const se=n&&z||((H=v[p-2])==null?void 0:H.value)==="#"||te||ne||((Y=v[p-1])==null?void 0:Y.value)==="fn"&&(((Z=v[p-2])==null?void 0:Z.value)===")"||((K=v[p-3])==null?void 0:K.value)==="@")?r:J;for(;!E||se.has(E);){E="",Q++;let V=Q;for(;V>0;)E=String.fromCharCode(97+(V-1)%26)+E,V=Math.floor(V/26)}se.set(R,E)}L+=E!=null?E:b.value}else b.value==="#"&&((X=v[p-1])==null?void 0:X.value)!=="\\"?L+=`
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});class fe{constructor(t){this.value=t}}class C{constructor(t){this.value=t}}class D{constructor(t,r){this.name=t,this.parameters=r}}class F{constructor(t,r){this.name=t,this.value=r}}class P{constructor(t,r,n,s,u){this.layout=t,this.qualifiers=r,this.kind=n,this.type=s,this.declarations=u}}class he{constructor(t,r){this.name=t,this.members=r}}class ge{constructor(t,r,n,s,u){this.name=t,this.type=r,this.qualifiers=n,this.args=s,this.body=u}}class T{constructor(t,r,n){this.operator=t,this.left=r,this.right=n}}class O{constructor(t,r,n){this.operator=t,this.left=r,this.right=n}}class de{constructor(t,r,n){this.test=t,this.consequent=r,this.alternate=n}}class xe{constructor(t,r){this.callee=t,this.args=r}}class ve{constructor(t,r){this.object=t,this.property=r}}class B{constructor(t,r){this.type=t,this.members=r}}class _e{constructor(t){this.body=t}}class we{constructor(t,r,n){this.test=t,this.consequent=r,this.alternate=n}}class ye{constructor(t,r,n,s){this.init=t,this.test=r,this.update=n,this.body=s}}class Se{constructor(t,r){this.test=t,this.body=r}}class be{constructor(t,r){this.test=t,this.body=r}}class M{constructor(t,r){this.test=t,this.consequent=r}}class De{constructor(t,r){this.discriminant=t,this.cases=r}}class Ee{constructor(t){this.argument=t}}class ke{constructor(t,r){this.name=t,this.value=r}}class Le{constructor(t,r){this.precision=t,this.type=r}}class Re{}class Ce{}class Ae{}const Be=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","false","fn","for","if","let","loop","override","return","struct","switch","true","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],Ie=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","true","false","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],Te=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],Oe=[...Te,"#","\\"],Me=[...Te,"->","@"],We=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/),ae=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),je=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),Ue=RegExp.prototype.test.bind(/^(true|false)$/),$e=48,Ye=57,ze=65,Xe=90,Ne=10,He=13,Ke=9,Ze=32,Qe=95,re=47,ie=42,Je=35,et=64,Fe=e=>$e<=e&&e<=Ye,tt=e=>(e&=-33,ze<=e&&e<=Xe),nt=e=>e===Ne||e===He,oe=e=>nt(e)||e===Ke||e===Ze,le=e=>tt(e)||Fe(e)||e===Qe,st=e=>e===Je||e===et;function G(e,t=0){const r=[];let n=-1;const[s,u]=We(e)?[Be,Me]:[Ie,Oe];for(;t<e.length;){let o=e[t];const i=e.charCodeAt(t++);if(oe(i)){for(;oe(e.charCodeAt(t));)o+=e[t++];r.push({type:"whitespace",value:o})}else if(Fe(i)){for(;ae(o+e[t])||je(o+e[t]);)o+=e[t++];ae(o)?r.push({type:"float",value:o}):r.push({type:"int",value:o})}else if(le(i)){for(;le(e.charCodeAt(t));)o+=e[t++];Ue(o)?r.push({type:"bool",value:o}):s.includes(st(n)?String.fromCharCode(n)+o:o)?r.push({type:"keyword",value:o}):r.push({type:"identifier",value:o})}else if(i===re&&(e.charCodeAt(t)===re||e.charCodeAt(t)===ie)){const l=e.charCodeAt(t)===ie?"*/":`
2
+ `;for(;!o.endsWith(l);)o+=e[t++];r.push({type:"comment",value:o})}else{for(const l of u)l.length>o.length&&e.startsWith(l,t-1)&&(o=l);t+=o.length-1,r.push({type:"symbol",value:o})}n=i}return r}const ce=RegExp.prototype.test.bind(/^\w/),at=RegExp.prototype.test.bind(/[^\w\\]/),ue=RegExp.prototype.test.bind(/^[_A-Za-z]/),rt=RegExp.prototype.test.bind(/[;{}\\@]/),pe=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function it(e,{mangle:t=!1,mangleMap:r=new Map,mangleExternals:n=!1}={}){var s,u,o,i,l,d,h,m,x,_,g,S,I,z,U,W,X,N,H,Y,Z,K;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const J=new Map,v=G(e).filter(p=>p.type!=="whitespace"&&p.type!=="comment");let Q=-1,ee=-1,$=-1,L="";for(let p=0;p<v.length;p++){const b=v[p];(pe(b.value)||rt((s=v[p-1])==null?void 0:s.value))&&(ee=p),b.value==="{"&&ue((u=v[p-1])==null?void 0:u.value)?$=p-1:b.value==="}"&&($=-1),ce(b.value)&&ce((o=v[p-1])==null?void 0:o.value)&&(L+=" "),at(b.value)&&(((i=v[p-2])==null?void 0:i.value)==="#"&&((l=v[p-1])==null?void 0:l.value)==="include"||((d=v[p-3])==null?void 0:d.value)==="#"&&((h=v[p-2])==null?void 0:h.value)==="define")&&(L+=" ");let R=b.value;if(((m=v[p-1])==null?void 0:m.value)==="."&&(R=`${(x=v[p-2])==null?void 0:x.value}.`+R),b.type==="identifier"&&R!=="main"&&(typeof t=="boolean"?t:t(b,p,v))){const te=((_=v[p-1])==null?void 0:_.value)==="}"&&((g=v[p+1])==null?void 0:g.value)===";",j=pe((S=v[ee])==null?void 0:S.value),ne=j&&((I=v[p-1])==null?void 0:I.value)===",";let E=(z=r.get(R))!=null?z:J.get(R);if(!E&&$===-1&&(ue((U=v[p-1])==null?void 0:U.value)||te||ne||((W=v[p-1])==null?void 0:W.type)==="symbol"&&((X=v[p+1])==null?void 0:X.value)===":")&&(n||!j)){const se=n&&j||((N=v[p-2])==null?void 0:N.value)==="#"||te||ne||((H=v[p-1])==null?void 0:H.value)==="fn"&&(((Y=v[p-2])==null?void 0:Y.value)===")"||((Z=v[p-3])==null?void 0:Z.value)==="@")?r:J;for(;!E||se.has(E);){E="",Q++;let V=Q;for(;V>0;)E=String.fromCharCode(97+(V-1)%26)+E,V=Math.floor(V/26)}se.set(R,E)}L+=E!=null?E:b.value}else b.value==="#"&&((K=v[p-1])==null?void 0:K.value)!=="\\"?L+=`
3
3
  #`:b.value==="\\"?L+=`
4
- `:L+=b.value}return L.trim()}const me=["+","-","~","!","++","--"],ot=[">>=","<<=","|=","&=","^=","%=","/=","*=","-=","+=","=","?","||","^^","&&","|","^","&","!=","==",">=","<=",">","<",">>","<<","+","-","%","/","*"],lt=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,Pe=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ct=new RegExp(`${lt.source}|${Pe.source}|layout`),ut=RegExp.prototype.test.bind(ct),pt=RegExp.prototype.test.bind(/^[\(\[\{]$/),mt=RegExp.prototype.test.bind(/^[\)\]\}]$/);function G(e){return pt(e.value)?1:mt(e.value)?-1:0}let f=[],a=0;function _(e,t,r=0){const n=[];let s=0;for(;r<t.length;){const u=t[r++];if(n.push(u),s+=G(u),s===0&&u.value===e)break}return n}function y(e){const t=_(e,f,a);return a+=t.length,t}function c(e){var t,r,n;if(e.length===0)return null;const s=e[0],u=e[e.length-1];if(me.includes(s.value)){const i=c(e.slice(1));return new O(s.value,null,i)}else if(me.includes(u.value)){const i=c(e.slice(0,e.length-1));return new O(u.value,i,null)}if(s.value==="("){const i=_(")",e),l=c(i.slice(1,i.length-1)),d=e[i.length];if(d){const h=e.slice(i.length+1),m=c(h);return new M(d.value,l,m)}return l}let o=0;for(const i of ot)for(let l=0;l<e.length;l++){const d=e[l];if(d.type==="symbol"){if(o+=G(d),o===0&&d.value===i)if(i==="?"){const h=e.slice(0,l),m=_(":",e,l+1).slice(0,-1),x=e.slice(l+m.length+2),w=c(h),g=c(m),S=c(x);return new de(w,g,S)}else{const h=c(e.slice(0,l)),m=c(e.slice(l+1,e.length));return new M(i,h,m)}if(o<0)return c(e.slice(0,l))}}if(s.type==="bool"||s.type==="int"||s.type==="float")return new fe(s.value);if(s.type==="identifier"||s.type==="keyword"){const i=e[1];if(i){if(i.value==="("){const l=new A(s.value),d=[],h=_(")",e,1).slice(1,-1);let m=0;for(;m<h.length;){const g=_(",",h,m);m+=g.length,((t=g[g.length-1])==null?void 0:t.value)===","&&g.pop();const S=c(g);S&&d.push(S)}const x=new ve(l,d);let w=3+m;if(((r=e[w])==null?void 0:r.value)==="."){const g=c([s,...e.slice(w)]);return g.object=x,g}return x}else if(i.value==="."){const l=new A(s.value),d=c([e[2]]),h=new xe(l,d);if(((n=e[3])==null?void 0:n.value)==="("&&u.value===")"){const m=c(e.slice(2));return m.callee=h,m}return h}else if(i.value==="["){let l=2;const d=new D(s.value,[]);e[l].value!=="]"&&d.parameters.push(c([e[l++]])),l++;const h=_(")",e,l).slice(1,-1),m=[];let x=0;for(;x<h.length;){const w=_(",",h,x);x+=w.length,w[w.length-1].value===","&&w.pop(),m.push(c(w))}return new C(d,m)}}else return new A(s.value)}return null}function qe(e=[],t=null){a--;const r=null,n=new D(f[a++].value,null),s=[],u=y(";");let o=0;for(;o<u.length;){const i=u[o++].value;let l=null;u[o].value==="["&&(o++,l=new C(new D(n.name,[c([u[o++]])]),[]),o++);let d=null;const h=u[o++];if((h==null?void 0:h.value)==="="){const m=_(",",u,o);o+=m.length,d=c(m.slice(0,-1))}s.push(new F(i,d!=null?d:l))}return new P(t,e,r,n,s)}function ft(e){var t,r,n;a--;const s=new D(f[a++].value,null),u=f[a++].value,o=[],i=y(")").slice(1,-1);let l=0;for(;l<i.length;){const h=[];for(;i[l]&&i[l].type!=="identifier";)h.push(i[l++].value);const m=new D(h.pop(),null),x=_(",",i,l);l+=x.length;const w=x.shift().value;let g=null;((t=x[0])==null?void 0:t.value)==="["&&(x.shift(),g=new C(new D(m.name,[c([x.shift()])]),[]),x.shift()),((r=x[x.length-1])==null?void 0:r.value)===","&&x.pop();const S=(n=c(x))!=null?n:g,I=[new F(w,S)];o.push(new P(null,h,null,m,I))}let d=null;return f[a].value===";"?a++:d=k(),new ge(u,s,e,o,d)}function Ge(){var e;a--;let t=null;if(f[a].value==="layout"){a++,t={};let n=null;for(;f[a]&&f[a].value!==")";){const s=f[a++];s.value===","&&(n=null),s.type!=="symbol"&&(n?t[n]=s.value:(n=s.value,t[n]=!0))}a++}const r=[];for(;f[a]&&Pe.test(f[a].value);)r.push(f[a++].value);return a++,((e=f[a+1])==null?void 0:e.value)==="("?ft(r):qe(r,t)}function ht(){const e=f[a++].value;a++;const t=[];for(;f[a]&&f[a].value!=="}";)a++,t.push(Ge());return a++,a++,new he(e,t)}function gt(){const e=y(";");e.pop();const t=c(e);return new Ee(t)}function Ve(){const e=c(y(")")),t=k();let r=null;return f[a].value==="else"&&(a++,f[a].value==="if"?(a++,r=Ve()):r=k()),new _e(e,t,r)}function dt(){const e=c(y(")")),t=k();return new Se(e,t)}function vt(){const e=a+(_(")",f,a).length-1);a++,a++;const t=qe(),r=c(y(";").slice(0,-1)),n=c(f.slice(a,e));a=e,a++;const s=k();return new ye(t,r,n,s)}function xt(){const e=k();a++;const t=c(y(")"));return a++,new be(t,e)}function wt(){const e=c(y(")")),t=a+_("}",f,a).length-1,r=[];for(;a<t;){const n=f[a++];if(n.value==="case"){const s=c(y(":").slice(0,-1)),u=B();r.push(new T(s,u))}else if(n.value==="default"){a++;const s=B();r.push(new T(null,s))}}return new De(e,r)}function _t(){const e=f[a++].value,t=new D(f[a++].value,null);return a++,new Re(e,t)}function yt(){const e=f[a++].value,t=y("\\").slice(0,-1);let r=null;if(e!=="else"&&e!=="endif")if(r=[],e==="define"){const n=c([t.shift()]),s=c(t);r.push(n,s)}else if(e==="extension"){const n=c([t.shift()]);t.shift();const s=c(t);r.push(n,s)}else e==="include"?r.push(c(t.slice(1,-1))):r.push(c(t));return new ke(e,r)}function B(){const e=[];let t=0;for(;a<f.length;){const r=f[a++];if(t+=G(r),t<0)break;let n=null;if(r.value==="#")n=yt();else if(r.type==="keyword")if(r.value==="case"||r.value==="default"){a--;break}else r.value==="struct"?n=ht():r.value==="continue"?(n=new Le,a++):r.value==="break"?(n=new Ae,a++):r.value==="discard"?(n=new Be,a++):r.value==="return"?n=gt():r.value==="if"?n=Ve():r.value==="while"?n=dt():r.value==="for"?n=vt():r.value==="do"?n=xt():r.value==="switch"?n=wt():r.value==="precision"?n=_t():ut(r.value)&&f[a].value!=="["&&(n=Ge());if(n)e.push(n);else{const s=[r,...y(";")];s[s.length-1].value===";"&&s.pop();const u=c(s);u&&e.push(u)}}return e}function k(){a++;const e=B();return new we(e)}const St=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function bt(e){return e=e.replace("#version 300 es",""),e=e.replace(St,"$1\\$2"),f=q(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment"),a=0,B()}exports.ArrayExpression=C,exports.BinaryExpression=M,exports.BlockStatement=we,exports.BreakStatement=Ae,exports.CallExpression=ve,exports.ContinueStatement=Le,exports.DiscardStatement=Be,exports.DoWhileStatement=be,exports.ForStatement=ye,exports.FunctionDeclaration=ge,exports.GLSL_KEYWORDS=Ie,exports.GLSL_SYMBOLS=Me,exports.Identifier=A,exports.IfStatement=_e,exports.Literal=fe,exports.MemberExpression=xe,exports.PrecisionStatement=Re,exports.PreprocessorStatement=ke,exports.ReturnStatement=Ee,exports.StructDeclaration=he,exports.SwitchCase=T,exports.SwitchStatement=De,exports.TernaryExpression=de,exports.Type=D,exports.UnaryExpression=O,exports.VariableDeclaration=P,exports.VariableDeclarator=F,exports.WGSL_KEYWORDS=Ce,exports.WGSL_SYMBOLS=Te,exports.WhileStatement=Se,exports.minify=it,exports.parse=bt,exports.tokenize=q;
4
+ `:L+=b.value}return L.trim()}const me=["+","-","~","!","++","--"],ot=[">>=","<<=","|=","&=","^=","%=","/=","*=","-=","+=","=","?","||","^^","&&","|","^","&","!=","==",">=","<=",">","<",">>","<<","+","-","%","/","*"],lt=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,Pe=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ct=new RegExp(`${lt.source}|${Pe.source}|layout`),ut=RegExp.prototype.test.bind(ct),pt=RegExp.prototype.test.bind(/^[\(\[\{]$/),mt=RegExp.prototype.test.bind(/^[\)\]\}]$/);function q(e){return pt(e.value)?1:mt(e.value)?-1:0}let f=[],a=0;function w(e,t,r=0){const n=[];let s=0;for(;r<t.length;){const u=t[r++];if(n.push(u),s+=q(u),s===0&&u.value===e)break}return n}function y(e){const t=w(e,f,a);return a+=t.length,t}function c(e){var t,r,n;if(e.length===0)return null;const s=e[0],u=e[e.length-1];if(me.includes(s.value)){const i=c(e.slice(1));return new T(s.value,null,i)}else if(me.includes(u.value)){const i=c(e.slice(0,e.length-1));return new T(u.value,i,null)}if(s.value==="("){const i=w(")",e),l=c(i.slice(1,i.length-1)),d=e[i.length];if(d){const h=e.slice(i.length+1),m=c(h);return new O(d.value,l,m)}return l}let o=0;for(const i of ot)for(let l=0;l<e.length;l++){const d=e[l];if(d.type==="symbol"){if(o+=q(d),o===0&&d.value===i)if(i==="?"){const h=e.slice(0,l),m=w(":",e,l+1).slice(0,-1),x=e.slice(l+m.length+2),_=c(h),g=c(m),S=c(x);return new de(_,g,S)}else{const h=c(e.slice(0,l)),m=c(e.slice(l+1,e.length));return new O(i,h,m)}if(o<0)return c(e.slice(0,l))}}if(s.type==="bool"||s.type==="int"||s.type==="float")return new fe(s.value);if(s.type==="identifier"||s.type==="keyword"){const i=e[1];if(i){if(i.value==="("){const l=new C(s.value),d=[],h=w(")",e,1).slice(1,-1);let m=0;for(;m<h.length;){const g=w(",",h,m);m+=g.length,((t=g[g.length-1])==null?void 0:t.value)===","&&g.pop();const S=c(g);S&&d.push(S)}const x=new xe(l,d);let _=3+m;if(((r=e[_])==null?void 0:r.value)==="."){const g=c([s,...e.slice(_)]);return g.object=x,g}return x}else if(i.value==="."){const l=new C(s.value),d=c([e[2]]),h=new ve(l,d);if(((n=e[3])==null?void 0:n.value)==="("&&u.value===")"){const m=c(e.slice(2));return m.callee=h,m}return h}else if(i.value==="["){let l=2;const d=new D(s.value,[]);e[l].value!=="]"&&d.parameters.push(c([e[l++]])),l++;const h=w(")",e,l).slice(1,-1),m=[];let x=0;for(;x<h.length;){const _=w(",",h,x);x+=_.length,_[_.length-1].value===","&&_.pop(),m.push(c(_))}return new B(d,m)}}else return new C(s.value)}return null}function Ge(e=[],t=null){a--;const r=null,n=new D(f[a++].value,null),s=[],u=y(";");let o=0;for(;o<u.length;){const i=u[o++].value;let l=null;u[o].value==="["&&(o++,l=new B(new D(n.name,[c([u[o++]])]),[]),o++);let d=null;const h=u[o++];if((h==null?void 0:h.value)==="="){const m=w(",",u,o);o+=m.length,d=c(m.slice(0,-1))}s.push(new F(i,d!=null?d:l))}return new P(t,e,r,n,s)}function ft(e){var t,r,n;a--;const s=new D(f[a++].value,null),u=f[a++].value,o=[],i=y(")").slice(1,-1);let l=0;for(;l<i.length;){const h=[];for(;i[l]&&i[l].type!=="identifier";)h.push(i[l++].value);const m=new D(h.pop(),null),x=w(",",i,l);l+=x.length;const _=x.shift().value;let g=null;((t=x[0])==null?void 0:t.value)==="["&&(x.shift(),g=new B(new D(m.name,[c([x.shift()])]),[]),x.shift()),((r=x[x.length-1])==null?void 0:r.value)===","&&x.pop();const S=(n=c(x))!=null?n:g,I=[new F(_,S)];o.push(new P(null,h,null,m,I))}let d=null;return f[a].value===";"?a++:d=k(),new ge(u,s,e,o,d)}function qe(){var e;a--;let t=null;if(f[a].value==="layout"){a++,t={};let n=null;for(;f[a]&&f[a].value!==")";){const s=f[a++];s.value===","&&(n=null),s.type!=="symbol"&&(n?t[n]=s.value:(n=s.value,t[n]=!0))}a++}const r=[];for(;f[a]&&Pe.test(f[a].value);)r.push(f[a++].value);return a++,((e=f[a+1])==null?void 0:e.value)==="("?ft(r):Ge(r,t)}function ht(){const e=f[a++].value;a++;const t=[];for(;f[a]&&f[a].value!=="}";)a++,t.push(qe());return a++,a++,new he(e,t)}function gt(){const e=y(";");e.pop();const t=c(e);return new Ee(t)}function Ve(){const e=c(y(")")),t=k();let r=null;return f[a].value==="else"&&(a++,f[a].value==="if"?(a++,r=Ve()):r=k()),new we(e,t,r)}function dt(){const e=c(y(")")),t=k();return new Se(e,t)}function xt(){const e=a+(w(")",f,a).length-1);a++,a++;const t=Ge(),r=c(y(";").slice(0,-1)),n=c(f.slice(a,e));a=e,a++;const s=k();return new ye(t,r,n,s)}function vt(){const e=k();a++;const t=c(y(")"));return a++,new be(t,e)}function _t(){const e=c(y(")")),t=a+w("}",f,a).length-1,r=[];for(;a<t;){const n=f[a++];if(n.value==="case"){const s=c(y(":").slice(0,-1)),u=A();r.push(new M(s,u))}else if(n.value==="default"){a++;const s=A();r.push(new M(null,s))}}return new De(e,r)}function wt(){const e=f[a++].value,t=new D(f[a++].value,null);return a++,new Le(e,t)}function yt(){const e=f[a++].value,t=y("\\").slice(0,-1);let r=null;if(e!=="else"&&e!=="endif")if(r=[],e==="define"){const n=c([t.shift()]),s=c(t);r.push(n,s)}else if(e==="extension"){const n=c([t.shift()]);t.shift();const s=c(t);r.push(n,s)}else e==="include"?r.push(c(t.slice(1,-1))):r.push(c(t));return new ke(e,r)}function A(){const e=[];let t=0;for(;a<f.length;){const r=f[a++];if(t+=q(r),t<0)break;let n=null;if(r.value==="#")n=yt();else if(r.type==="keyword")if(r.value==="case"||r.value==="default"){a--;break}else r.value==="struct"?n=ht():r.value==="continue"?(n=new Re,a++):r.value==="break"?(n=new Ce,a++):r.value==="discard"?(n=new Ae,a++):r.value==="return"?n=gt():r.value==="if"?n=Ve():r.value==="while"?n=dt():r.value==="for"?n=xt():r.value==="do"?n=vt():r.value==="switch"?n=_t():r.value==="precision"?n=wt():ut(r.value)&&f[a].value!=="["&&(n=qe());if(n)e.push(n);else{const s=[r,...y(";")];s[s.length-1].value===";"&&s.pop();const u=c(s);u&&e.push(u)}}return e}function k(){a++;const e=A();return new _e(e)}const St=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function bt(e){return e=e.replace("#version 300 es",""),e=e.replace(St,"$1\\$2"),f=G(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment"),a=0,A()}exports.ArrayExpression=B,exports.BinaryExpression=O,exports.BlockStatement=_e,exports.BreakStatement=Ce,exports.CallExpression=xe,exports.ContinueStatement=Re,exports.DiscardStatement=Ae,exports.DoWhileStatement=be,exports.ForStatement=ye,exports.FunctionDeclaration=ge,exports.GLSL_KEYWORDS=Ie,exports.GLSL_SYMBOLS=Oe,exports.Identifier=C,exports.IfStatement=we,exports.Literal=fe,exports.MemberExpression=ve,exports.PrecisionStatement=Le,exports.PreprocessorStatement=ke,exports.ReturnStatement=Ee,exports.StructDeclaration=he,exports.SwitchCase=M,exports.SwitchStatement=De,exports.TernaryExpression=de,exports.Type=D,exports.UnaryExpression=T,exports.VariableDeclaration=P,exports.VariableDeclarator=F,exports.WGSL_KEYWORDS=Be,exports.WGSL_SYMBOLS=Me,exports.WhileStatement=Se,exports.minify=it,exports.parse=bt,exports.tokenize=G;
5
5
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/ast.ts","../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["Literal","value","Identifier","Type","name","parameters","VariableDeclarator","VariableDeclaration","layout","qualifiers","kind","type","declarations","StructDeclaration","members","FunctionDeclaration","args","body","UnaryExpression","operator","left","right","BinaryExpression","TernaryExpression","test","consequent","alternate","CallExpression","callee","MemberExpression","object","property","ArrayExpression","BlockStatement","IfStatement","ForStatement","init","update","WhileStatement","DoWhileStatement","SwitchCase","SwitchStatement","discriminant","cases","ReturnStatement","argument","PreprocessorStatement","PrecisionStatement","precision","ContinueStatement","BreakStatement","DiscardStatement","WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","isWGSL","isFloat","isInt","isBool","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","isScoped","isStorage","minify","mangle","mangleMap","mangleExternals","mangleCache","token","mangleIndex","lineIndex","blockIndex","minified","i","_a","_b","_c","_d","_e","_f","_g","prefix","_h","_i","namespace","_j","_k","storage","_l","list","_m","renamed","_n","_o","_p","_q","cache","_r","_s","_t","_u","j","_v","UNARY_OPERATORS","BINARY_OPERATORS","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","isDeclaration","isOpen","isClose","getScopeDelta","readUntil","offset","output","scopeIndex","consumeUntil","parseExpression","first","last","leftBody","rightBody","testBody","consequentBody","alternateBody","second","scope","line","arg","expression","next","parseVariable","delimiter","parseFunction","header","parseBlock","parseIndeterminate","key","parseStruct","parseReturn","parseIf","parseWhile","parseFor","delimiterIndex","parseDoWhile","parseSwitch","parseStatements","parsePrecision","parsePreprocessor","statement","DIRECTIVE_REGEX","parse"],"mappings":"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A,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SACA,QACA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SACA,OACA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,GAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,QACA,WACA,MACA,MACA,MAGA,cACA,UACA,cACA,aACA,gBACA,aACA,mBACA,oBACA,mBACA,iBACA,uBACA,cACA,oBACA,kBACA,wBAG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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/ast.ts","../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["Literal","value","Identifier","Type","name","parameters","VariableDeclarator","VariableDeclaration","layout","qualifiers","kind","type","declarations","StructDeclaration","members","FunctionDeclaration","args","body","UnaryExpression","operator","left","right","BinaryExpression","TernaryExpression","test","consequent","alternate","CallExpression","callee","MemberExpression","object","property","ArrayExpression","BlockStatement","IfStatement","ForStatement","init","update","WhileStatement","DoWhileStatement","SwitchCase","SwitchStatement","discriminant","cases","ReturnStatement","argument","PreprocessorStatement","PrecisionStatement","precision","ContinueStatement","BreakStatement","DiscardStatement","WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","isWGSL","isFloat","isInt","isBool","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","isScoped","isStorage","minify","mangle","mangleMap","mangleExternals","mangleCache","token","mangleIndex","lineIndex","blockIndex","minified","i","_a","_b","_c","_d","_e","_f","_g","prefix","_h","_i","namespace","_j","_k","storage","_l","list","_m","renamed","_n","_o","_p","_q","cache","_r","_s","_t","_u","j","_v","UNARY_OPERATORS","BINARY_OPERATORS","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","isDeclaration","isOpen","isClose","getScopeDelta","readUntil","offset","output","scopeIndex","consumeUntil","parseExpression","first","last","leftBody","rightBody","testBody","consequentBody","alternateBody","second","scope","line","arg","expression","next","parseVariable","delimiter","parseFunction","header","parseBlock","parseIndeterminate","key","parseStruct","parseReturn","parseIf","parseWhile","parseFor","delimiterIndex","parseDoWhile","parseSwitch","parseStatements","parsePrecision","parsePreprocessor","statement","DIRECTIVE_REGEX","parse"],"mappings":"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CA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SACA,QACA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SACA,OACA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,GAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,QACA,WACA,MACA,MACA,MAGA,cACA,UACA,cACA,aACA,gBACA,aACA,mBACA,oBACA,mBACA,iBACA,uBACA,cACA,oBACA,kBACA,wBAGA,OACA,OACA,SA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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- class re{constructor(t){this.value=t}}class R{constructor(t){this.value=t}}class k{constructor(t,a){this.name=t,this.parameters=a}}class q{constructor(t,a){this.name=t,this.value=a}}class I{constructor(t,a,n,s,c){this.layout=t,this.qualifiers=a,this.kind=n,this.type=s,this.declarations=c}}class se{constructor(t,a){this.name=t,this.members=a}}class le{constructor(t,a,n,s,c){this.name=t,this.type=a,this.qualifiers=n,this.args=s,this.body=c}}class P{constructor(t,a,n){this.operator=t,this.left=a,this.right=n}}class V{constructor(t,a,n){this.operator=t,this.left=a,this.right=n}}class ie{constructor(t,a,n){this.test=t,this.consequent=a,this.alternate=n}}class oe{constructor(t,a){this.callee=t,this.args=a}}class ue{constructor(t,a){this.object=t,this.property=a}}class B{constructor(t,a){this.type=t,this.members=a}}class ce{constructor(t){this.body=t}}class pe{constructor(t,a,n){this.test=t,this.consequent=a,this.alternate=n}}class me{constructor(t,a,n,s){this.init=t,this.test=a,this.update=n,this.body=s}}class fe{constructor(t,a){this.test=t,this.body=a}}class de{constructor(t,a){this.test=t,this.body=a}}class ${constructor(t,a){this.test=t,this.consequent=a}}class he{constructor(t,a){this.discriminant=t,this.cases=a}}class ve{constructor(t){this.argument=t}}class ge{constructor(t,a){this.name=t,this.value=a}}class xe{constructor(t,a){this.precision=t,this.type=a}}class ye{}class _e{}class we{}const be=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","false","fn","for","if","let","loop","override","return","struct","switch","true","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],De=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","true","false","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],Se=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],ke=[...Se,"#","\\"],Ee=[...Se,"->","@"],Ge=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/),Ce=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),ze=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),Ue=RegExp.prototype.test.bind(/^(true|false)$/),je=48,We=57,Ne=65,He=90,Ye=10,Ze=13,Ke=9,Xe=32,Je=95,Le=47,Ae=42,Qe=35,et=64,Me=e=>je<=e&&e<=We,tt=e=>(e&=-33,Ne<=e&&e<=He),at=e=>e===Ye||e===Ze,Re=e=>at(e)||e===Ke||e===Xe,Be=e=>tt(e)||Me(e)||e===Je,nt=e=>e===Qe||e===et;function G(e,t=0){const a=[];let n=-1;const[s,c]=Ge(e)?[be,Ee]:[De,ke];for(;t<e.length;){let l=e[t];const u=e.charCodeAt(t++);if(Re(u)){for(;Re(e.charCodeAt(t));)l+=e[t++];a.push({type:"whitespace",value:l})}else if(Me(u)){for(;Ce(l+e[t])||ze(l+e[t]);)l+=e[t++];Ce(l)?a.push({type:"float",value:l}):a.push({type:"int",value:l})}else if(Be(u)){for(;Be(e.charCodeAt(t));)l+=e[t++];Ue(l)?a.push({type:"bool",value:l}):s.includes(nt(n)?String.fromCharCode(n)+l:l)?a.push({type:"keyword",value:l}):a.push({type:"identifier",value:l})}else if(u===Le&&(e.charCodeAt(t)===Le||e.charCodeAt(t)===Ae)){const i=e.charCodeAt(t)===Ae?"*/":`
2
- `;for(;!l.endsWith(i);)l+=e[t++];a.push({type:"comment",value:l})}else{for(const i of c)i.length>l.length&&e.startsWith(i,t-1)&&(l=i);t+=l.length-1,a.push({type:"symbol",value:l})}n=u}return a}const Fe=RegExp.prototype.test.bind(/^\w/),rt=RegExp.prototype.test.bind(/[^\w\\]/),Oe=RegExp.prototype.test.bind(/^[_A-Za-z]/),st=RegExp.prototype.test.bind(/[;{}\\@]/),Te=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function lt(e,{mangle:t=!1,mangleMap:a=new Map,mangleExternals:n=!1}={}){var s,c,l,u,i,d,h,f,g,y,x,D,A,U,j,W,N,H,Y,Z,K,X;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const J=new Map,v=G(e).filter(p=>p.type!=="whitespace"&&p.type!=="comment");let Q=-1,ee=-1,O=-1,E="";for(let p=0;p<v.length;p++){const _=v[p];(Te(_.value)||st((s=v[p-1])==null?void 0:s.value))&&(ee=p),_.value==="{"&&Oe((c=v[p-1])==null?void 0:c.value)?O=p-1:_.value==="}"&&(O=-1),Fe(_.value)&&Fe((l=v[p-1])==null?void 0:l.value)&&(E+=" "),rt(_.value)&&(((u=v[p-2])==null?void 0:u.value)==="#"&&((i=v[p-1])==null?void 0:i.value)==="include"||((d=v[p-3])==null?void 0:d.value)==="#"&&((h=v[p-2])==null?void 0:h.value)==="define")&&(E+=" ");let C=_.value;if(((f=v[p-1])==null?void 0:f.value)==="."&&(C=`${(g=v[p-2])==null?void 0:g.value}.`+C),_.type==="identifier"&&C!=="main"&&(typeof t=="boolean"?t:t(_,p,v))){const te=((y=v[p-1])==null?void 0:y.value)==="}"&&((x=v[p+1])==null?void 0:x.value)===";",T=Te((D=v[ee])==null?void 0:D.value),ae=T&&((A=v[p-1])==null?void 0:A.value)===",";let S=(U=a.get(C))!=null?U:J.get(C);if(!S&&O===-1&&(Oe((j=v[p-1])==null?void 0:j.value)||te||ae||((W=v[p-1])==null?void 0:W.type)==="symbol"&&((N=v[p+1])==null?void 0:N.value)===":")&&(n||!T)){const ne=n&&T||((H=v[p-2])==null?void 0:H.value)==="#"||te||ae||((Y=v[p-1])==null?void 0:Y.value)==="fn"&&(((Z=v[p-2])==null?void 0:Z.value)===")"||((K=v[p-3])==null?void 0:K.value)==="@")?a:J;for(;!S||ne.has(S);){S="",Q++;let M=Q;for(;M>0;)S=String.fromCharCode(97+(M-1)%26)+S,M=Math.floor(M/26)}ne.set(C,S)}E+=S!=null?S:_.value}else _.value==="#"&&((X=v[p-1])==null?void 0:X.value)!=="\\"?E+=`
3
- #`:_.value==="\\"?E+=`
4
- `:E+=_.value}return E.trim()}const qe=["+","-","~","!","++","--"],it=[">>=","<<=","|=","&=","^=","%=","/=","*=","-=","+=","=","?","||","^^","&&","|","^","&","!=","==",">=","<=",">","<",">>","<<","+","-","%","/","*"],ot=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,Ie=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ut=new RegExp(`${ot.source}|${Ie.source}|layout`),ct=RegExp.prototype.test.bind(ut),pt=RegExp.prototype.test.bind(/^[\(\[\{]$/),mt=RegExp.prototype.test.bind(/^[\)\]\}]$/);function z(e){return pt(e.value)?1:mt(e.value)?-1:0}let m=[],r=0;function w(e,t,a=0){const n=[];let s=0;for(;a<t.length;){const c=t[a++];if(n.push(c),s+=z(c),s===0&&c.value===e)break}return n}function b(e){const t=w(e,m,r);return r+=t.length,t}function o(e){var t,a,n;if(e.length===0)return null;const s=e[0],c=e[e.length-1];if(qe.includes(s.value)){const u=o(e.slice(1));return new P(s.value,null,u)}else if(qe.includes(c.value)){const u=o(e.slice(0,e.length-1));return new P(c.value,u,null)}if(s.value==="("){const u=w(")",e),i=o(u.slice(1,u.length-1)),d=e[u.length];if(d){const h=e.slice(u.length+1),f=o(h);return new V(d.value,i,f)}return i}let l=0;for(const u of it)for(let i=0;i<e.length;i++){const d=e[i];if(d.type==="symbol"){if(l+=z(d),l===0&&d.value===u)if(u==="?"){const h=e.slice(0,i),f=w(":",e,i+1).slice(0,-1),g=e.slice(i+f.length+2),y=o(h),x=o(f),D=o(g);return new ie(y,x,D)}else{const h=o(e.slice(0,i)),f=o(e.slice(i+1,e.length));return new V(u,h,f)}if(l<0)return o(e.slice(0,i))}}if(s.type==="bool"||s.type==="int"||s.type==="float")return new re(s.value);if(s.type==="identifier"||s.type==="keyword"){const u=e[1];if(u){if(u.value==="("){const i=new R(s.value),d=[],h=w(")",e,1).slice(1,-1);let f=0;for(;f<h.length;){const x=w(",",h,f);f+=x.length,((t=x[x.length-1])==null?void 0:t.value)===","&&x.pop();const D=o(x);D&&d.push(D)}const g=new oe(i,d);let y=3+f;if(((a=e[y])==null?void 0:a.value)==="."){const x=o([s,...e.slice(y)]);return x.object=g,x}return g}else if(u.value==="."){const i=new R(s.value),d=o([e[2]]),h=new ue(i,d);if(((n=e[3])==null?void 0:n.value)==="("&&c.value===")"){const f=o(e.slice(2));return f.callee=h,f}return h}else if(u.value==="["){let i=2;const d=new k(s.value,[]);e[i].value!=="]"&&d.parameters.push(o([e[i++]])),i++;const h=w(")",e,i).slice(1,-1),f=[];let g=0;for(;g<h.length;){const y=w(",",h,g);g+=y.length,y[y.length-1].value===","&&y.pop(),f.push(o(y))}return new B(d,f)}}else return new R(s.value)}return null}function Pe(e=[],t=null){r--;const a=null,n=new k(m[r++].value,null),s=[],c=b(";");let l=0;for(;l<c.length;){const u=c[l++].value;let i=null;c[l].value==="["&&(l++,i=new B(new k(n.name,[o([c[l++]])]),[]),l++);let d=null;const h=c[l++];if((h==null?void 0:h.value)==="="){const f=w(",",c,l);l+=f.length,d=o(f.slice(0,-1))}s.push(new q(u,d!=null?d:i))}return new I(t,e,a,n,s)}function ft(e){var t,a,n;r--;const s=new k(m[r++].value,null),c=m[r++].value,l=[],u=b(")").slice(1,-1);let i=0;for(;i<u.length;){const h=[];for(;u[i]&&u[i].type!=="identifier";)h.push(u[i++].value);const f=new k(h.pop(),null),g=w(",",u,i);i+=g.length;const y=g.shift().value;let x=null;((t=g[0])==null?void 0:t.value)==="["&&(g.shift(),x=new B(new k(f.name,[o([g.shift()])]),[]),g.shift()),((a=g[g.length-1])==null?void 0:a.value)===","&&g.pop();const D=(n=o(g))!=null?n:x,A=[new q(y,D)];l.push(new I(null,h,null,f,A))}let d=null;return m[r].value===";"?r++:d=L(),new le(c,s,e,l,d)}function Ve(){var e;r--;let t=null;if(m[r].value==="layout"){r++,t={};let n=null;for(;m[r]&&m[r].value!==")";){const s=m[r++];s.value===","&&(n=null),s.type!=="symbol"&&(n?t[n]=s.value:(n=s.value,t[n]=!0))}r++}const a=[];for(;m[r]&&Ie.test(m[r].value);)a.push(m[r++].value);return r++,((e=m[r+1])==null?void 0:e.value)==="("?ft(a):Pe(a,t)}function dt(){const e=m[r++].value;r++;const t=[];for(;m[r]&&m[r].value!=="}";)r++,t.push(Ve());return r++,r++,new se(e,t)}function ht(){const e=b(";");e.pop();const t=o(e);return new ve(t)}function $e(){const e=o(b(")")),t=L();let a=null;return m[r].value==="else"&&(r++,m[r].value==="if"?(r++,a=$e()):a=L()),new pe(e,t,a)}function vt(){const e=o(b(")")),t=L();return new fe(e,t)}function gt(){const e=r+(w(")",m,r).length-1);r++,r++;const t=Pe(),a=o(b(";").slice(0,-1)),n=o(m.slice(r,e));r=e,r++;const s=L();return new me(t,a,n,s)}function xt(){const e=L();r++;const t=o(b(")"));return r++,new de(t,e)}function yt(){const e=o(b(")")),t=r+w("}",m,r).length-1,a=[];for(;r<t;){const n=m[r++];if(n.value==="case"){const s=o(b(":").slice(0,-1)),c=F();a.push(new $(s,c))}else if(n.value==="default"){r++;const s=F();a.push(new $(null,s))}}return new he(e,a)}function _t(){const e=m[r++].value,t=new k(m[r++].value,null);return r++,new xe(e,t)}function wt(){const e=m[r++].value,t=b("\\").slice(0,-1);let a=null;if(e!=="else"&&e!=="endif")if(a=[],e==="define"){const n=o([t.shift()]),s=o(t);a.push(n,s)}else if(e==="extension"){const n=o([t.shift()]);t.shift();const s=o(t);a.push(n,s)}else e==="include"?a.push(o(t.slice(1,-1))):a.push(o(t));return new ge(e,a)}function F(){const e=[];let t=0;for(;r<m.length;){const a=m[r++];if(t+=z(a),t<0)break;let n=null;if(a.value==="#")n=wt();else if(a.type==="keyword")if(a.value==="case"||a.value==="default"){r--;break}else a.value==="struct"?n=dt():a.value==="continue"?(n=new ye,r++):a.value==="break"?(n=new _e,r++):a.value==="discard"?(n=new we,r++):a.value==="return"?n=ht():a.value==="if"?n=$e():a.value==="while"?n=vt():a.value==="for"?n=gt():a.value==="do"?n=xt():a.value==="switch"?n=yt():a.value==="precision"?n=_t():ct(a.value)&&m[r].value!=="["&&(n=Ve());if(n)e.push(n);else{const s=[a,...b(";")];s[s.length-1].value===";"&&s.pop();const c=o(s);c&&e.push(c)}}return e}function L(){r++;const e=F();return new ce(e)}const bt=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function Dt(e){return e=e.replace("#version 300 es",""),e=e.replace(bt,"$1\\$2"),m=G(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment"),r=0,F()}export{B as ArrayExpression,V as BinaryExpression,ce as BlockStatement,_e as BreakStatement,oe as CallExpression,ye as ContinueStatement,we as DiscardStatement,de as DoWhileStatement,me as ForStatement,le as FunctionDeclaration,De as GLSL_KEYWORDS,ke as GLSL_SYMBOLS,R as Identifier,pe as IfStatement,re as Literal,ue as MemberExpression,xe as PrecisionStatement,ge as PreprocessorStatement,ve as ReturnStatement,se as StructDeclaration,$ as SwitchCase,he as SwitchStatement,ie as TernaryExpression,k as Type,P as UnaryExpression,I as VariableDeclaration,q as VariableDeclarator,be as WGSL_KEYWORDS,Ee as WGSL_SYMBOLS,fe as WhileStatement,lt as minify,Dt as parse,G as tokenize};
1
+ class ne{constructor(t){this.value=t}}class R{constructor(t){this.value=t}}class E{constructor(t,a){this.name=t,this.parameters=a}}class P{constructor(t,a){this.name=t,this.value=a}}class q{constructor(t,a,r,s,c){this.layout=t,this.qualifiers=a,this.kind=r,this.type=s,this.declarations=c}}class se{constructor(t,a){this.name=t,this.members=a}}class le{constructor(t,a,r,s,c){this.name=t,this.type=a,this.qualifiers=r,this.args=s,this.body=c}}class G{constructor(t,a,r){this.operator=t,this.left=a,this.right=r}}class I{constructor(t,a,r){this.operator=t,this.left=a,this.right=r}}class oe{constructor(t,a,r){this.test=t,this.consequent=a,this.alternate=r}}class ie{constructor(t,a){this.callee=t,this.args=a}}class ue{constructor(t,a){this.object=t,this.property=a}}class B{constructor(t,a){this.type=t,this.members=a}}class ce{constructor(t){this.body=t}}class pe{constructor(t,a,r){this.test=t,this.consequent=a,this.alternate=r}}class me{constructor(t,a,r,s){this.init=t,this.test=a,this.update=r,this.body=s}}class fe{constructor(t,a){this.test=t,this.body=a}}class de{constructor(t,a){this.test=t,this.body=a}}class V{constructor(t,a){this.test=t,this.consequent=a}}class he{constructor(t,a){this.discriminant=t,this.cases=a}}class ve{constructor(t){this.argument=t}}class ge{constructor(t,a){this.name=t,this.value=a}}class xe{constructor(t,a){this.precision=t,this.type=a}}class ye{}class _e{}class we{}const be=["vec2","vec2i","vec2u","vec2f","vec2h","vec3","vec3i","vec3u","vec3f","vec3h","vec4","vec4i","vec4u","vec4f","vec4h","mat2x2","mat2x2f","mat2x2h","mat2x3","mat2x3f","mat2x3h","mat2x4","mat2x4f","mat2x4h","mat3x2","mat3x2f","mat3x2h","mat3x3","mat3x3f","mat3x3h","mat3x4","mat3x4f","mat3x4h","mat4x2","mat4x2f","mat4x2h","mat4x3","mat4x3f","mat4x3h","mat4x4","mat4x4f","mat4x4h","array","atomic","bool","f32","f16","i32","ptr","sampler","sampler_comparison","texture_1d","texture_2d","texture_2d_array","texture_3d","texture_cube","texture_cube_array","texture_multisampled_2d","texture_storage_1d","texture_storage_2d","texture_storage_2d_array","texture_storage_3d","texture_depth_2d","texture_depth_2d_array","texture_depth_cube","texture_depth_cube_array","texture_depth_multisampled_2d","u32","alias","bitcast","break","case","const","const_assert","continue","continuing","default","discard","else","enable","false","fn","for","if","let","loop","override","return","struct","switch","true","var","while","Hullshader","NULL","Self","abstract","active","alignas","alignof","as","asm","asm_fragment","async","attribute","auto","await","become","bf16","binding_array","cast","catch","class","co_await","co_return","co_yield","coherent","column_major","common","compile","compile_fragment","concept","const_cast","consteval","constexpr","constinit","crate","debugger","decltype","delete","demote","demote_to_helper","do","dynamic_cast","enum","explicit","export","extends","extern","external","f64","fallthrough","filter","final","finally","friend","from","fxgroup","get","goto","groupshared","handle","highp","i16","i64","i8","impl","implements","import","inline","instanceof","interface","layout","lowp","macro","macro_rules","match","mediump","meta","mod","module","move","mut","mutable","namespace","new","nil","noexcept","noinline","nointerpolation","noperspective","null","nullptr","of","operator","package","packoffset","partition","pass","patch","pixelfragment","precise","precision","premerge","priv","protected","pub","public","quat","readonly","ref","regardless","register","reinterpret_cast","requires","resource","restrict","self","set","shared","sizeof","smooth","snorm","static","static_assert","static_cast","std","subroutine","super","target","template","this","thread_local","throw","trait","try","type","typedef","typeid","typename","typeof","u16","u64","u8","union","unless","unorm","unsafe","unsized","use","using","varying","virtual","volatile","wgsl","where","with","writeonly","yield","@align","@binding","@builtin","@compute","@const","@fragment","@group","@id","@interpolate","@invariant","@location","@size","@vertex","@workgroup_size","perspective","linear","flat","center","centroid","sample","vertex_index","instance_index","position","front_facing","frag_depth","local_invocation_id","local_invocation_index","global_invocation_id","workgroup_id","num_workgroups","sample_index","sample_mask","read","write","read_write","function","private","workgroup","uniform","storage","rgba8unorm","rgba8snorm","rgba8uint","rgba8sint","rgba16uint","rgba16sint","rgba16float","r32uint","r32sint","r32float","rg32uint","rg32sint","rg32float","rgba32uint","rgba32sint","rgba32float","bgra8unorm","f16","all","any","select","arrayLength","abs","acos","acosh","asin","asinh","atan","atanh","atan2","ceil","clamp","cos","cosh","countLeadingZeros","countOneBits","countTrailingZeros","cross","degrees","determinant","distance","dot","exp","exp2","extractBits","faceForward","firstLeadingBit","firstTrailingBit","floor","fma","fract","frexp","insertBits","inverseSqrt","ldexp","length","log","log2","max","min","mix","modf","normalize","pow","quantizeToF16","radians","reflect","refract","reverseBits","round","saturate","sign","sin","sinh","smoothstep","sqrt","step","tan","tanh","transpose","trunc","dpdx","dpdxCoarse","dpdxFine","dpdy","dpdyCoarse","dpdyFine","fwidth","fwidthCoarse","fwidthFine","textureDimensions","textureGather","textureGatherCompare","textureLoad","textureNumLayers","textureNumLevels","textureNumSamples","textureSample","textureSampleBias","textureSampleCompare","textureSampleCompareLevel","textureSampleGrad","textureSampleLevel","textureSampleBaseClampToEdge","atomicLoad","atomicStore","atomicAdd","atomicSub","atomicMax","atomicMin","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompareExchangeWeak","pack4x8snorm","pack4x8unorm","pack2x16snorm","pack2x16unorm","pack2x16float","unpack4x8snorm","unpack4x8unorm","unpack2x16snorm","unpack2x16unorm","unpack2x16float","storageBarrier","workgroupBarrier","workgroupUniformLoad"],De=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","true","false","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2"],Se=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],Ee=[...Se,"#","\\"],ke=[...Se,"->","@"],$e=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/),Ce=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),je=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),ze=RegExp.prototype.test.bind(/^(true|false)$/),Ue=48,We=57,Xe=65,Ne=90,He=10,Ye=13,Ze=9,Ke=32,Je=95,Le=47,Ae=42,Qe=35,et=64,Me=e=>Ue<=e&&e<=We,tt=e=>(e&=-33,Xe<=e&&e<=Ne),at=e=>e===He||e===Ye,Re=e=>at(e)||e===Ze||e===Ke,Be=e=>tt(e)||Me(e)||e===Je,rt=e=>e===Qe||e===et;function $(e,t=0){const a=[];let r=-1;const[s,c]=$e(e)?[be,ke]:[De,Ee];for(;t<e.length;){let l=e[t];const u=e.charCodeAt(t++);if(Re(u)){for(;Re(e.charCodeAt(t));)l+=e[t++];a.push({type:"whitespace",value:l})}else if(Me(u)){for(;Ce(l+e[t])||je(l+e[t]);)l+=e[t++];Ce(l)?a.push({type:"float",value:l}):a.push({type:"int",value:l})}else if(Be(u)){for(;Be(e.charCodeAt(t));)l+=e[t++];ze(l)?a.push({type:"bool",value:l}):s.includes(rt(r)?String.fromCharCode(r)+l:l)?a.push({type:"keyword",value:l}):a.push({type:"identifier",value:l})}else if(u===Le&&(e.charCodeAt(t)===Le||e.charCodeAt(t)===Ae)){const o=e.charCodeAt(t)===Ae?"*/":`
2
+ `;for(;!l.endsWith(o);)l+=e[t++];a.push({type:"comment",value:l})}else{for(const o of c)o.length>l.length&&e.startsWith(o,t-1)&&(l=o);t+=l.length-1,a.push({type:"symbol",value:l})}r=u}return a}const Te=RegExp.prototype.test.bind(/^\w/),nt=RegExp.prototype.test.bind(/[^\w\\]/),Fe=RegExp.prototype.test.bind(/^[_A-Za-z]/),st=RegExp.prototype.test.bind(/[;{}\\@]/),Oe=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function lt(e,{mangle:t=!1,mangleMap:a=new Map,mangleExternals:r=!1}={}){var s,c,l,u,o,d,h,f,g,y,x,D,A,z,U,W,X,N,H,Y,Z,K;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const J=new Map,v=$(e).filter(p=>p.type!=="whitespace"&&p.type!=="comment");let Q=-1,ee=-1,F=-1,k="";for(let p=0;p<v.length;p++){const _=v[p];(Oe(_.value)||st((s=v[p-1])==null?void 0:s.value))&&(ee=p),_.value==="{"&&Fe((c=v[p-1])==null?void 0:c.value)?F=p-1:_.value==="}"&&(F=-1),Te(_.value)&&Te((l=v[p-1])==null?void 0:l.value)&&(k+=" "),nt(_.value)&&(((u=v[p-2])==null?void 0:u.value)==="#"&&((o=v[p-1])==null?void 0:o.value)==="include"||((d=v[p-3])==null?void 0:d.value)==="#"&&((h=v[p-2])==null?void 0:h.value)==="define")&&(k+=" ");let C=_.value;if(((f=v[p-1])==null?void 0:f.value)==="."&&(C=`${(g=v[p-2])==null?void 0:g.value}.`+C),_.type==="identifier"&&C!=="main"&&(typeof t=="boolean"?t:t(_,p,v))){const te=((y=v[p-1])==null?void 0:y.value)==="}"&&((x=v[p+1])==null?void 0:x.value)===";",O=Oe((D=v[ee])==null?void 0:D.value),ae=O&&((A=v[p-1])==null?void 0:A.value)===",";let S=(z=a.get(C))!=null?z:J.get(C);if(!S&&F===-1&&(Fe((U=v[p-1])==null?void 0:U.value)||te||ae||((W=v[p-1])==null?void 0:W.type)==="symbol"&&((X=v[p+1])==null?void 0:X.value)===":")&&(r||!O)){const re=r&&O||((N=v[p-2])==null?void 0:N.value)==="#"||te||ae||((H=v[p-1])==null?void 0:H.value)==="fn"&&(((Y=v[p-2])==null?void 0:Y.value)===")"||((Z=v[p-3])==null?void 0:Z.value)==="@")?a:J;for(;!S||re.has(S);){S="",Q++;let M=Q;for(;M>0;)S=String.fromCharCode(97+(M-1)%26)+S,M=Math.floor(M/26)}re.set(C,S)}k+=S!=null?S:_.value}else _.value==="#"&&((K=v[p-1])==null?void 0:K.value)!=="\\"?k+=`
3
+ #`:_.value==="\\"?k+=`
4
+ `:k+=_.value}return k.trim()}const Pe=["+","-","~","!","++","--"],ot=[">>=","<<=","|=","&=","^=","%=","/=","*=","-=","+=","=","?","||","^^","&&","|","^","&","!=","==",">=","<=",">","<",">>","<<","+","-","%","/","*"],it=/^(void|bool|float|u?int|[uib]?vec\d|mat\d(x\d)?)$/,qe=/^(const|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp)$/,ut=new RegExp(`${it.source}|${qe.source}|layout`),ct=RegExp.prototype.test.bind(ut),pt=RegExp.prototype.test.bind(/^[\(\[\{]$/),mt=RegExp.prototype.test.bind(/^[\)\]\}]$/);function j(e){return pt(e.value)?1:mt(e.value)?-1:0}let m=[],n=0;function w(e,t,a=0){const r=[];let s=0;for(;a<t.length;){const c=t[a++];if(r.push(c),s+=j(c),s===0&&c.value===e)break}return r}function b(e){const t=w(e,m,n);return n+=t.length,t}function i(e){var t,a,r;if(e.length===0)return null;const s=e[0],c=e[e.length-1];if(Pe.includes(s.value)){const u=i(e.slice(1));return new G(s.value,null,u)}else if(Pe.includes(c.value)){const u=i(e.slice(0,e.length-1));return new G(c.value,u,null)}if(s.value==="("){const u=w(")",e),o=i(u.slice(1,u.length-1)),d=e[u.length];if(d){const h=e.slice(u.length+1),f=i(h);return new I(d.value,o,f)}return o}let l=0;for(const u of ot)for(let o=0;o<e.length;o++){const d=e[o];if(d.type==="symbol"){if(l+=j(d),l===0&&d.value===u)if(u==="?"){const h=e.slice(0,o),f=w(":",e,o+1).slice(0,-1),g=e.slice(o+f.length+2),y=i(h),x=i(f),D=i(g);return new oe(y,x,D)}else{const h=i(e.slice(0,o)),f=i(e.slice(o+1,e.length));return new I(u,h,f)}if(l<0)return i(e.slice(0,o))}}if(s.type==="bool"||s.type==="int"||s.type==="float")return new ne(s.value);if(s.type==="identifier"||s.type==="keyword"){const u=e[1];if(u){if(u.value==="("){const o=new R(s.value),d=[],h=w(")",e,1).slice(1,-1);let f=0;for(;f<h.length;){const x=w(",",h,f);f+=x.length,((t=x[x.length-1])==null?void 0:t.value)===","&&x.pop();const D=i(x);D&&d.push(D)}const g=new ie(o,d);let y=3+f;if(((a=e[y])==null?void 0:a.value)==="."){const x=i([s,...e.slice(y)]);return x.object=g,x}return g}else if(u.value==="."){const o=new R(s.value),d=i([e[2]]),h=new ue(o,d);if(((r=e[3])==null?void 0:r.value)==="("&&c.value===")"){const f=i(e.slice(2));return f.callee=h,f}return h}else if(u.value==="["){let o=2;const d=new E(s.value,[]);e[o].value!=="]"&&d.parameters.push(i([e[o++]])),o++;const h=w(")",e,o).slice(1,-1),f=[];let g=0;for(;g<h.length;){const y=w(",",h,g);g+=y.length,y[y.length-1].value===","&&y.pop(),f.push(i(y))}return new B(d,f)}}else return new R(s.value)}return null}function Ge(e=[],t=null){n--;const a=null,r=new E(m[n++].value,null),s=[],c=b(";");let l=0;for(;l<c.length;){const u=c[l++].value;let o=null;c[l].value==="["&&(l++,o=new B(new E(r.name,[i([c[l++]])]),[]),l++);let d=null;const h=c[l++];if((h==null?void 0:h.value)==="="){const f=w(",",c,l);l+=f.length,d=i(f.slice(0,-1))}s.push(new P(u,d!=null?d:o))}return new q(t,e,a,r,s)}function ft(e){var t,a,r;n--;const s=new E(m[n++].value,null),c=m[n++].value,l=[],u=b(")").slice(1,-1);let o=0;for(;o<u.length;){const h=[];for(;u[o]&&u[o].type!=="identifier";)h.push(u[o++].value);const f=new E(h.pop(),null),g=w(",",u,o);o+=g.length;const y=g.shift().value;let x=null;((t=g[0])==null?void 0:t.value)==="["&&(g.shift(),x=new B(new E(f.name,[i([g.shift()])]),[]),g.shift()),((a=g[g.length-1])==null?void 0:a.value)===","&&g.pop();const D=(r=i(g))!=null?r:x,A=[new P(y,D)];l.push(new q(null,h,null,f,A))}let d=null;return m[n].value===";"?n++:d=L(),new le(c,s,e,l,d)}function Ie(){var e;n--;let t=null;if(m[n].value==="layout"){n++,t={};let r=null;for(;m[n]&&m[n].value!==")";){const s=m[n++];s.value===","&&(r=null),s.type!=="symbol"&&(r?t[r]=s.value:(r=s.value,t[r]=!0))}n++}const a=[];for(;m[n]&&qe.test(m[n].value);)a.push(m[n++].value);return n++,((e=m[n+1])==null?void 0:e.value)==="("?ft(a):Ge(a,t)}function dt(){const e=m[n++].value;n++;const t=[];for(;m[n]&&m[n].value!=="}";)n++,t.push(Ie());return n++,n++,new se(e,t)}function ht(){const e=b(";");e.pop();const t=i(e);return new ve(t)}function Ve(){const e=i(b(")")),t=L();let a=null;return m[n].value==="else"&&(n++,m[n].value==="if"?(n++,a=Ve()):a=L()),new pe(e,t,a)}function vt(){const e=i(b(")")),t=L();return new fe(e,t)}function gt(){const e=n+(w(")",m,n).length-1);n++,n++;const t=Ge(),a=i(b(";").slice(0,-1)),r=i(m.slice(n,e));n=e,n++;const s=L();return new me(t,a,r,s)}function xt(){const e=L();n++;const t=i(b(")"));return n++,new de(t,e)}function yt(){const e=i(b(")")),t=n+w("}",m,n).length-1,a=[];for(;n<t;){const r=m[n++];if(r.value==="case"){const s=i(b(":").slice(0,-1)),c=T();a.push(new V(s,c))}else if(r.value==="default"){n++;const s=T();a.push(new V(null,s))}}return new he(e,a)}function _t(){const e=m[n++].value,t=new E(m[n++].value,null);return n++,new xe(e,t)}function wt(){const e=m[n++].value,t=b("\\").slice(0,-1);let a=null;if(e!=="else"&&e!=="endif")if(a=[],e==="define"){const r=i([t.shift()]),s=i(t);a.push(r,s)}else if(e==="extension"){const r=i([t.shift()]);t.shift();const s=i(t);a.push(r,s)}else e==="include"?a.push(i(t.slice(1,-1))):a.push(i(t));return new ge(e,a)}function T(){const e=[];let t=0;for(;n<m.length;){const a=m[n++];if(t+=j(a),t<0)break;let r=null;if(a.value==="#")r=wt();else if(a.type==="keyword")if(a.value==="case"||a.value==="default"){n--;break}else a.value==="struct"?r=dt():a.value==="continue"?(r=new ye,n++):a.value==="break"?(r=new _e,n++):a.value==="discard"?(r=new we,n++):a.value==="return"?r=ht():a.value==="if"?r=Ve():a.value==="while"?r=vt():a.value==="for"?r=gt():a.value==="do"?r=xt():a.value==="switch"?r=yt():a.value==="precision"?r=_t():ct(a.value)&&m[n].value!=="["&&(r=Ie());if(r)e.push(r);else{const s=[a,...b(";")];s[s.length-1].value===";"&&s.pop();const c=i(s);c&&e.push(c)}}return e}function L(){n++;const e=T();return new ce(e)}const bt=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function Dt(e){return e=e.replace("#version 300 es",""),e=e.replace(bt,"$1\\$2"),m=$(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment"),n=0,T()}export{B as ArrayExpression,I as BinaryExpression,ce as BlockStatement,_e as BreakStatement,ie as CallExpression,ye as ContinueStatement,we as DiscardStatement,de as DoWhileStatement,me as ForStatement,le as FunctionDeclaration,De as GLSL_KEYWORDS,Ee as GLSL_SYMBOLS,R as Identifier,pe as IfStatement,ne as Literal,ue as MemberExpression,xe as PrecisionStatement,ge as PreprocessorStatement,ve as ReturnStatement,se as StructDeclaration,V as SwitchCase,he as SwitchStatement,oe as TernaryExpression,E as Type,G as UnaryExpression,q as VariableDeclaration,P as VariableDeclarator,be as WGSL_KEYWORDS,ke as WGSL_SYMBOLS,fe as WhileStatement,lt as minify,Dt as parse,$ as tokenize};
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/ast.ts","../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["Literal","value","Identifier","Type","name","parameters","VariableDeclarator","VariableDeclaration","layout","qualifiers","kind","type","declarations","StructDeclaration","members","FunctionDeclaration","args","body","UnaryExpression","operator","left","right","BinaryExpression","TernaryExpression","test","consequent","alternate","CallExpression","callee","MemberExpression","object","property","ArrayExpression","BlockStatement","IfStatement","ForStatement","init","update","WhileStatement","DoWhileStatement","SwitchCase","SwitchStatement","discriminant","cases","ReturnStatement","argument","PreprocessorStatement","PrecisionStatement","precision","ContinueStatement","BreakStatement","DiscardStatement","WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","isWGSL","isFloat","isInt","isBool","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","isScoped","isStorage","minify","mangle","mangleMap","mangleExternals","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","mangleCache","token","mangleIndex","lineIndex","blockIndex","minified","i","prefix","namespace","storage","list","renamed","cache","j","UNARY_OPERATORS","BINARY_OPERATORS","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","isDeclaration","isOpen","isClose","getScopeDelta","readUntil","offset","output","scopeIndex","consumeUntil","parseExpression","first","last","leftBody","rightBody","testBody","consequentBody","alternateBody","second","scope","line","arg","expression","next","parseVariable","delimiter","parseFunction","header","parseBlock","parseIndeterminate","key","parseStruct","parseReturn","parseIf","parseWhile","parseFor","delimiterIndex","parseDoWhile","parseSwitch","parseStatements","parsePrecision","parsePreprocessor","statement","DIRECTIVE_REGEX","parse"],"mappings":"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,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SACA,QACA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SACA,OACA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,GAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,QACA,WACA,MACA,MACA,MAGA,cACA,UACA,cACA,aACA,gBACA,aACA,mBACA,oBACA,mBACA,iBACA,uBACA,cACA,oBACA,kBACA,wBAGA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"}
1
+ {"version":3,"file":"index.js","sources":["../src/ast.ts","../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts","../src/parser.ts"],"sourcesContent":null,"names":["Literal","value","Identifier","Type","name","parameters","VariableDeclarator","VariableDeclaration","layout","qualifiers","kind","type","declarations","StructDeclaration","members","FunctionDeclaration","args","body","UnaryExpression","operator","left","right","BinaryExpression","TernaryExpression","test","consequent","alternate","CallExpression","callee","MemberExpression","object","property","ArrayExpression","BlockStatement","IfStatement","ForStatement","init","update","WhileStatement","DoWhileStatement","SwitchCase","SwitchStatement","discriminant","cases","ReturnStatement","argument","PreprocessorStatement","PrecisionStatement","precision","ContinueStatement","BreakStatement","DiscardStatement","WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","isWGSL","isFloat","isInt","isBool","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","tokenize","code","index","tokens","prev","KEYWORDS","char","terminator","symbol","isWord","isSymbol","isName","isScoped","isStorage","minify","mangle","mangleMap","mangleExternals","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","_t","_u","_v","mangleCache","token","mangleIndex","lineIndex","blockIndex","minified","i","prefix","namespace","storage","list","renamed","cache","j","UNARY_OPERATORS","BINARY_OPERATORS","TYPE_REGEX","QUALIFIER_REGEX","VARIABLE_REGEX","isDeclaration","isOpen","isClose","getScopeDelta","readUntil","offset","output","scopeIndex","consumeUntil","parseExpression","first","last","leftBody","rightBody","testBody","consequentBody","alternateBody","second","scope","line","arg","expression","next","parseVariable","delimiter","parseFunction","header","parseBlock","parseIndeterminate","key","parseStruct","parseReturn","parseIf","parseWhile","parseFor","delimiterIndex","parseDoWhile","parseSwitch","parseStatements","parsePrecision","parsePreprocessor","statement","DIRECTIVE_REGEX","parse"],"mappings":"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A,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UACA,SACA,UACA,UAGA,QACA,SACA,OACA,MACA,MACA,MAUA,MACA,UACA,qBACA,aACA,aACA,mBACA,aACA,eACA,qBACA,0BACA,qBACA,qBACA,2BACA,qBACA,mBACA,yBACA,qBACA,2BACA,gCACA,MAMA,QACA,UACA,QACA,OACA,QACA,eACA,WACA,aACA,UACA,UACA,OACA,SACA,QACA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SACA,OACA,MACA,QAGA,aACA,OACA,OACA,WACA,SACA,UACA,UACA,KACA,MACA,eACA,QACA,YACA,OACA,QACA,SACA,OACA,gBACA,OACA,QACA,QACA,WACA,YACA,WACA,WACA,eACA,SACA,UACA,mBACA,UACA,aACA,YACA,YACA,YACA,QACA,WACA,WACA,SACA,SACA,mBACA,KACA,eACA,OACA,WACA,SACA,UACA,SACA,WACA,MACA,cACA,SACA,QACA,UACA,SACA,OACA,UACA,MACA,OACA,cACA,SACA,QACA,MACA,MACA,KACA,OACA,aACA,SACA,SACA,aACA,YACA,SACA,OACA,QACA,cACA,QACA,UACA,OACA,MACA,SACA,OACA,MACA,UACA,YACA,MACA,MACA,WACA,WACA,kBACA,gBACA,OACA,UACA,KACA,WACA,UACA,aACA,YACA,OACA,QACA,gBACA,UACA,YACA,WACA,OACA,YACA,MACA,SACA,OACA,WACA,MACA,aACA,WACA,mBACA,WACA,WACA,WACA,OACA,MACA,SACA,SACA,SACA,QACA,SACA,gBACA,cACA,MACA,aACA,QACA,SACA,WACA,OACA,eACA,QACA,QACA,MACA,OACA,UACA,SACA,WACA,SACA,MACA,MACA,KACA,QACA,SACA,QACA,SACA,UACA,MACA,QACA,UACA,UACA,WACA,OACA,QACA,OACA,YACA,QAGA,SACA,WACA,WACA,WACA,SACA,YACA,SACA,MACA,eACA,aACA,YACA,QACA,UACA,kBAGA,cACA,SACA,OAGA,SACA,WACA,SAGA,eACA,iBACA,WACA,eACA,aACA,sBACA,yBACA,uBACA,eACA,iBACA,eACA,cAGA,OACA,QACA,aAGA,WACA,UACA,YACA,UACA,UAGA,aACA,aACA,YACA,YACA,aACA,aACA,cACA,UACA,UACA,WACA,WACA,WACA,YACA,aACA,aACA,cACA,aAGA,MAGA,MACA,MACA,SAGA,cAGA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,QACA,OACA,QACA,MACA,OACA,oBACA,eACA,qBACA,QACA,UACA,cACA,WACA,MACA,MACA,OACA,cACA,cACA,kBACA,mBACA,QACA,MACA,QACA,QACA,aACA,cACA,QACA,SACA,MACA,OACA,MACA,MACA,MACA,OACA,YACA,MACA,gBACA,UACA,UACA,UACA,cACA,QACA,WACA,OACA,MACA,OACA,aACA,OACA,OACA,MACA,OACA,YACA,QAGA,OACA,aACA,WACA,OACA,aACA,WACA,SACA,eACA,aAGA,oBACA,gBACA,uBACA,cACA,mBACA,mBACA,oBACA,gBACA,oBACA,uBACA,4BACA,oBACA,qBACA,+BAGA,aACA,cACA,YACA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,4BAGA,eACA,eACA,gBACA,gBACA,gBAGA,iBACA,iBACA,kBACA,kBACA,kBAGA,iBACA,mBACA,sBACF,EAIaC,GAAgB,CAE3B,QACA,UACA,SACA,WACA,OACA,SACA,QACA,WACA,KACA,MACA,QACA,SACA,OACA,UACA,KACA,OACA,KACA,MACA,QACA,QACA,MACA,OACA,OACA,OACA,QACA,YACA,UACA,SACA,OACA,OACA,OACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,SACA,OACA,OACA,OACA,QACA,QACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,OACA,UACA,QACA,YACA,YACA,YACA,cACA,kBACA,oBACA,iBACA,uBACA,aACA,aACA,eACA,kBACA,aACA,aACA,eACA,kBACA,SAGA,YACA,UACA,WACA,WACA,WACA,WACA,YACA,WACA,cACA,gBACA,QACA,SACA,aACA,SACA,YACA,SACA,MACA,QACA,QACA,OACA,UACA,WACA,OACA,OACA,SACA,WACA,WACA,SACA,SACA,SACA,WACA,YACA,OACA,QACA,SACA,OACA,QACA,WACA,SACA,QACA,SACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,QACA,gBACA,SACA,UACA,UACA,UACA,YACA,WACA,WACA,WACA,aACA,WACA,WACA,WACA,aACA,eACA,eACA,gBACA,gBACA,gBACA,gBACA,cACA,eACA,eACA,YACA,kBACA,iBACA,uBACA,aACA,kBACA,aACA,kBACA,gBACA,sBACA,iBACA,iBACA,gBACA,iBACA,iBACA,cACA,eACA,eACA,mBACA,oBACA,oBACA,SACA,OACA,YACA,QAGA,UACA,SACA,MACA,SACA,UACA,QACA,QACA,SACA,SACA,UACA,aACA,WACA,QAGA,UAGA,WACA,WACA,cACA,QAGA,cACA,gBACA,cACA,eAGA,eACA,iBACA,eACA,gBAGA,sBACA,6BACA,4BACA,6BACA,gCACA,kCACA,0BACA,+BACA,oBACA,2BACA,2BAGA,0BACA,gBAGA,UACA,UACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,OACA,QACA,QACA,QAGA,MACA,MACA,MACA,OACA,OACA,OACA,cAGA,MACA,OACA,QACA,QACA,QACA,YACA,OACA,QACA,MACA,OACA,MACA,MACA,QACA,MACA,OACA,aACA,QACA,QACA,iBACA,kBACA,iBACA,kBAGA,gBACA,kBACA,gBACA,kBACA,eACA,iBAGA,SACA,WACA,MACA,QACA,YACA,cACA,UACA,UACA,iBACA,eACA,YACA,cACA,UAGA,WACA,gBACA,cACA,mBACA,QACA,WACA,MACA,MACA,MAGA,cACA,UACA,cACA,aACA,gBACA,aACA,mBACA,oBACA,mBACA,iBACA,uBACA,cACA,oBACA,kBACA,wBAGA,OACA,OACA,SAG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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaderkit",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Tools and IntelliSense for GLSL and WGSL.",
5
5
  "keywords": [
6
6
  "shaders",
@@ -37,9 +37,9 @@
37
37
  },
38
38
  "sideEffects": false,
39
39
  "devDependencies": {
40
- "typescript": "^4.9.5",
41
- "vite": "^4.1.2",
42
- "vitest": "^0.28.5"
40
+ "typescript": "^5.7.2",
41
+ "vite": "^6.0.6",
42
+ "vitest": "^2.1.8"
43
43
  },
44
44
  "scripts": {
45
45
  "dev": "vite",
package/src/constants.ts CHANGED
@@ -813,6 +813,21 @@ export const GLSL_KEYWORDS = [
813
813
  // Additional directives
814
814
  '#include',
815
815
 
816
+ // WebGL1 (three.js)
817
+ // 'attribute',
818
+ // 'varying',
819
+ 'gl_FragColor',
820
+ 'gl_FragDepthEXT',
821
+ 'texture2D',
822
+ 'textureCube',
823
+ 'texture2DProj',
824
+ 'texture2DLodEXT',
825
+ 'texture2DProjLodEXT',
826
+ 'textureCubeLodEXT',
827
+ 'texture2DGradEXT',
828
+ 'texture2DProjGradEXT',
829
+ 'textureCubeGradEXT',
830
+
816
831
  // WEBGL_multi_draw https://registry.khronos.org/webgl/extensions/WEBGL_multi_draw
817
832
  'gl_DrawID', // vertex only
818
833