shaderkit 0.1.12 → 0.1.13

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/README.md CHANGED
@@ -178,8 +178,8 @@ To shared mangled interfaces when using `mangleExternal`, declare and re-use a `
178
178
  const programOpts = { mangle: true, mangleExternals: true, mangleMap: new Map() }
179
179
 
180
180
  // #version 300 es\nin vec2 a;out vec2 b;void main(){b=a;}
181
- minify(`#version 300 es\nin vec2 uv;out vec2 c;void main(){c=uv;}`, programOpts)
181
+ minify(`#version 300 es\nin vec2 sstt;out vec2 c;void main(){c=sstt;}`, programOpts)
182
182
 
183
- // #version 300 es\nin vec2 b;out vec4 c[gl_MaxDrawBuffers];void main(){c[0]=b.sstt;}
183
+ // #version 300 es\nin vec2 b;out vec4 a[gl_MaxDrawBuffers];void main(){a[0]=b.sstt;}
184
184
  minify(`#version 300 es\nin vec2 c;out vec4 data[gl_MaxDrawBuffers];void main(){data[0]=c.sstt;}`, programOpts)
185
185
  ```
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const q=["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"],Y=["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"],N=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],j=[...N,"#","\\"],H=[...N,"->","@"],Z=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/),T=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),X=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),J=RegExp.prototype.test.bind(/^(true|false)$/),Q=48,ee=57,te=65,ae=90,re=10,ie=13,oe=9,se=32,ne=95,I=47,G=42,le=35,ue=64,$=e=>Q<=e&&e<=ee,ce=e=>(e&=-33,te<=e&&e<=ae),me=e=>e===re||e===ie,P=e=>me(e)||e===oe||e===se,W=e=>ce(e)||$(e)||e===ne,pe=e=>e===le||e===ue;function K(e,i=0){const n=[];let p=-1;const[c,d]=Z(e)?[q,H]:[Y,j];for(;i<e.length;){let a=e[i];const s=e.charCodeAt(i++);if(P(s)){for(;P(e.charCodeAt(i));)a+=e[i++];n.push({type:"whitespace",value:a})}else if($(s)){for(;T(a+e[i])||X(a+e[i]);)a+=e[i++];T(a)?n.push({type:"float",value:a}):n.push({type:"int",value:a})}else if(W(s)){for(;W(e.charCodeAt(i));)a+=e[i++];J(a)?n.push({type:"bool",value:a}):c.includes(pe(p)?String.fromCharCode(p)+a:a)?n.push({type:"keyword",value:a}):n.push({type:"identifier",value:a})}else if(s===I&&(e.charCodeAt(i)===I||e.charCodeAt(i)===G)){const u=e.charCodeAt(i)===G?"*/":`
2
- `;for(;!a.endsWith(u);)a+=e[i++];n.push({type:"comment",value:a})}else{for(const u of d)u.length>a.length&&e.startsWith(u,i-1)&&(a=u);i+=a.length-1,n.push({type:"symbol",value:a})}p=s}return n}const z=RegExp.prototype.test.bind(/^\w/),fe=RegExp.prototype.test.bind(/[^\w\\]/),V=RegExp.prototype.test.bind(/^[_A-Za-z]/),U=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying|,)$/);function ge(e,{mangle:i=!1,mangleMap:n=new Map,mangleExternals:p=!1}={}){var c,d,a,s,u,g,v,h,_,y,b,D,w,S,k,C,L,A,M;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const B=new Map,F=new Set(n.values()),r=K(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment");let E=0,x=null,m="";for(let t=0;t<r.length;t++){const o=r[t];if(z(o.value)&&z((c=r[t-1])==null?void 0:c.value)&&(m+=" "),o.value==="{"&&V((d=r[t-1])==null?void 0:d.value)?x=t-1:o.value==="}"&&(x=null),fe(o.value)&&(((a=r[t-2])==null?void 0:a.value)==="#"&&((s=r[t-1])==null?void 0:s.value)==="include"||((u=r[t-3])==null?void 0:u.value)==="#"&&((g=r[t-2])==null?void 0:g.value)==="define")&&(m+=" "),o.type==="identifier"&&o.value!=="main"&&(typeof i=="boolean"?i:i(o,t,r))){const O=((v=r[t-1])==null?void 0:v.value)==="}"&&((h=r[t+1])==null?void 0:h.value)===";",R=U((_=r[t-1])==null?void 0:_.value)||U((y=r[t-2])==null?void 0:y.value);let l=(b=n.get(o.value))!=null?b:B.get(o.value);if(!l&&x==null&&(V((D=r[t-1])==null?void 0:D.value)||O||((w=r[t-1])==null?void 0:w.value)===","||((S=r[t+1])==null?void 0:S.value)===":")&&(p||!R)){for(;!l||F.has(l);){l="",E++;let f=E;for(;f>0;)l=String.fromCharCode(97+(f-1)%26)+l,f=Math.floor(f/26)}(p&&R||((k=r[t-2])==null?void 0:k.value)==="#"||O||((C=r[t-1])==null?void 0:C.value)==="fn"&&(((L=r[t-2])==null?void 0:L.value)===")"||((A=r[t-3])==null?void 0:A.value)==="@")?n:B).set(o.value,l)}m+=l!=null?l:o.value}else o.value==="#"&&((M=r[t-1])==null?void 0:M.value)!=="\\"?m+=`
3
- #`:o.value==="\\"?m+=`
4
- `:m+=o.value}return m.trim()}exports.GLSL_KEYWORDS=Y,exports.GLSL_SYMBOLS=j,exports.WGSL_KEYWORDS=q,exports.WGSL_SYMBOLS=H,exports.minify=ge,exports.tokenize=K;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const K=["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"],Z=["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"],X=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],J=[...X,"#","\\"],Q=[...X,"->","@"],ae=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/),V=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),re=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),ie=RegExp.prototype.test.bind(/^(true|false)$/),oe=48,se=57,ne=65,le=90,ue=10,ce=13,me=9,pe=32,fe=95,U=47,q=42,ge=35,de=64,ee=e=>oe<=e&&e<=se,xe=e=>(e&=-33,ne<=e&&e<=le),he=e=>e===ue||e===ce,Y=e=>he(e)||e===me||e===pe,N=e=>xe(e)||ee(e)||e===fe,_e=e=>e===ge||e===de;function te(e,o=0){const i=[];let p=-1;const[d,f]=ae(e)?[K,Q]:[Z,J];for(;o<e.length;){let a=e[o];const s=e.charCodeAt(o++);if(Y(s)){for(;Y(e.charCodeAt(o));)a+=e[o++];i.push({type:"whitespace",value:a})}else if(ee(s)){for(;V(a+e[o])||re(a+e[o]);)a+=e[o++];V(a)?i.push({type:"float",value:a}):i.push({type:"int",value:a})}else if(N(s)){for(;N(e.charCodeAt(o));)a+=e[o++];ie(a)?i.push({type:"bool",value:a}):d.includes(_e(p)?String.fromCharCode(p)+a:a)?i.push({type:"keyword",value:a}):i.push({type:"identifier",value:a})}else if(s===U&&(e.charCodeAt(o)===U||e.charCodeAt(o)===q)){const u=e.charCodeAt(o)===q?"*/":`
2
+ `;for(;!a.endsWith(u);)a+=e[o++];i.push({type:"comment",value:a})}else{for(const u of f)u.length>a.length&&e.startsWith(u,o-1)&&(a=u);o+=a.length-1,i.push({type:"symbol",value:a})}p=s}return i}const j=RegExp.prototype.test.bind(/^\w/),ve=RegExp.prototype.test.bind(/[^\w\\]/),H=RegExp.prototype.test.bind(/^[_A-Za-z]/),ye=RegExp.prototype.test.bind(/[;{}\\@]/),$=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function be(e,{mangle:o=!1,mangleMap:i=new Map,mangleExternals:p=!1}={}){var d,f,a,s,u,h,_,y,b,D,w,S,k,C,L,A,M,E,B,R,O,F;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const T=new Map,r=te(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment");let P=-1,I=-1,g=-1,m="";for(let t=0;t<r.length;t++){const n=r[t];($(n.value)||ye((d=r[t-1])==null?void 0:d.value))&&(I=t),n.value==="{"&&H((f=r[t-1])==null?void 0:f.value)?g=t-1:n.value==="}"&&(g=-1),j(n.value)&&j((a=r[t-1])==null?void 0:a.value)&&(m+=" "),ve(n.value)&&(((s=r[t-2])==null?void 0:s.value)==="#"&&((u=r[t-1])==null?void 0:u.value)==="include"||((h=r[t-3])==null?void 0:h.value)==="#"&&((_=r[t-2])==null?void 0:_.value)==="define")&&(m+=" ");let c=n.value;if(((y=r[t-1])==null?void 0:y.value)==="."&&(c=`${(b=r[t-2])==null?void 0:b.value}.`+c),n.type==="identifier"&&c!=="main"&&(typeof o=="boolean"?o:o(n,t,r))){const G=((D=r[t-1])==null?void 0:D.value)==="}"&&((w=r[t+1])==null?void 0:w.value)===";",v=$((S=r[I])==null?void 0:S.value),z=v&&((k=r[t-1])==null?void 0:k.value)===",";let l=(C=i.get(c))!=null?C:T.get(c);if(!l&&g===-1&&(H((L=r[t-1])==null?void 0:L.value)||G||z||((A=r[t-1])==null?void 0:A.type)==="symbol"&&((M=r[t+1])==null?void 0:M.value)===":")&&(p||!v)){const W=p&&v||((E=r[t-2])==null?void 0:E.value)==="#"||G||z||((B=r[t-1])==null?void 0:B.value)==="fn"&&(((R=r[t-2])==null?void 0:R.value)===")"||((O=r[t-3])==null?void 0:O.value)==="@")?i:T;for(;!l||W.has(l);){l="",P++;let x=P;for(;x>0;)l=String.fromCharCode(97+(x-1)%26)+l,x=Math.floor(x/26)}W.set(c,l)}m+=l!=null?l:n.value}else n.value==="#"&&((F=r[t-1])==null?void 0:F.value)!=="\\"?m+=`
3
+ #`:n.value==="\\"?m+=`
4
+ `:m+=n.value}return m.trim()}exports.GLSL_KEYWORDS=Z,exports.GLSL_SYMBOLS=J,exports.WGSL_KEYWORDS=K,exports.WGSL_SYMBOLS=Q,exports.minify=be,exports.tokenize=te;
5
5
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["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","value","char","terminator","symbol","isWord","isSymbol","isName","isStorage","minify","mangle","mangleMap","mangleExternals","mangleCache","exclude","token","mangleIndex","blockIndex","minified","i","_a","_b","_c","_d","_e","_f","namespace","_g","_h","storage","_i","_j","renamed","_k","_l","_m","_n","j","_o","_p","_q","_r","_s"],"mappings":"gFACO,MAAMA,EAAgB,CAE3B,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QAGA,SACA,UACA,UACA,SACA,UACA,UACA,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,EAAgB,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,WA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"}
1
+ {"version":3,"file":"index.cjs","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["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","value","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"],"mappings":"gFACO,MAAMA,EAAgB,CAE3B,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QAGA,SACA,UACA,UACA,SACA,UACA,UACA,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,EAAgB,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,WA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"}
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
- const O=["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"],T=["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"],I=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],P=[...I,"#","\\"],G=[...I,"->","@"],K=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/),V=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),X=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),J=RegExp.prototype.test.bind(/^(true|false)$/),Q=48,ee=57,te=65,ae=90,re=10,ie=13,oe=9,ne=32,le=95,z=47,q=42,se=35,ue=64,U=e=>Q<=e&&e<=ee,me=e=>(e&=-33,te<=e&&e<=ae),pe=e=>e===re||e===ie,j=e=>pe(e)||e===oe||e===ne,W=e=>me(e)||U(e)||e===le,ce=e=>e===se||e===ue;function N(e,i=0){const n=[];let p=-1;const[c,d]=K(e)?[O,G]:[T,P];for(;i<e.length;){let a=e[i];const s=e.charCodeAt(i++);if(j(s)){for(;j(e.charCodeAt(i));)a+=e[i++];n.push({type:"whitespace",value:a})}else if(U(s)){for(;V(a+e[i])||X(a+e[i]);)a+=e[i++];V(a)?n.push({type:"float",value:a}):n.push({type:"int",value:a})}else if(W(s)){for(;W(e.charCodeAt(i));)a+=e[i++];J(a)?n.push({type:"bool",value:a}):c.includes(ce(p)?String.fromCharCode(p)+a:a)?n.push({type:"keyword",value:a}):n.push({type:"identifier",value:a})}else if(s===z&&(e.charCodeAt(i)===z||e.charCodeAt(i)===q)){const u=e.charCodeAt(i)===q?"*/":`
2
- `;for(;!a.endsWith(u);)a+=e[i++];n.push({type:"comment",value:a})}else{for(const u of d)u.length>a.length&&e.startsWith(u,i-1)&&(a=u);i+=a.length-1,n.push({type:"symbol",value:a})}p=s}return n}const $=RegExp.prototype.test.bind(/^\w/),de=RegExp.prototype.test.bind(/[^\w\\]/),H=RegExp.prototype.test.bind(/^[_A-Za-z]/),Y=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying|,)$/);function fe(e,{mangle:i=!1,mangleMap:n=new Map,mangleExternals:p=!1}={}){var c,d,a,s,u,g,v,h,_,y,b,D,w,S,k,C,L,A,M;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const B=new Map,Z=new Set(n.values()),r=N(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment");let E=0,x=null,m="";for(let t=0;t<r.length;t++){const o=r[t];if($(o.value)&&$((c=r[t-1])==null?void 0:c.value)&&(m+=" "),o.value==="{"&&H((d=r[t-1])==null?void 0:d.value)?x=t-1:o.value==="}"&&(x=null),de(o.value)&&(((a=r[t-2])==null?void 0:a.value)==="#"&&((s=r[t-1])==null?void 0:s.value)==="include"||((u=r[t-3])==null?void 0:u.value)==="#"&&((g=r[t-2])==null?void 0:g.value)==="define")&&(m+=" "),o.type==="identifier"&&o.value!=="main"&&(typeof i=="boolean"?i:i(o,t,r))){const R=((v=r[t-1])==null?void 0:v.value)==="}"&&((h=r[t+1])==null?void 0:h.value)===";",F=Y((_=r[t-1])==null?void 0:_.value)||Y((y=r[t-2])==null?void 0:y.value);let l=(b=n.get(o.value))!=null?b:B.get(o.value);if(!l&&x==null&&(H((D=r[t-1])==null?void 0:D.value)||R||((w=r[t-1])==null?void 0:w.value)===","||((S=r[t+1])==null?void 0:S.value)===":")&&(p||!F)){for(;!l||Z.has(l);){l="",E++;let f=E;for(;f>0;)l=String.fromCharCode(97+(f-1)%26)+l,f=Math.floor(f/26)}(p&&F||((k=r[t-2])==null?void 0:k.value)==="#"||R||((C=r[t-1])==null?void 0:C.value)==="fn"&&(((L=r[t-2])==null?void 0:L.value)===")"||((A=r[t-3])==null?void 0:A.value)==="@")?n:B).set(o.value,l)}m+=l!=null?l:o.value}else o.value==="#"&&((M=r[t-1])==null?void 0:M.value)!=="\\"?m+=`
3
- #`:o.value==="\\"?m+=`
4
- `:m+=o.value}return m.trim()}export{T as GLSL_KEYWORDS,P as GLSL_SYMBOLS,O as WGSL_KEYWORDS,G as WGSL_SYMBOLS,fe as minify,N as tokenize};
1
+ const q=["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"],U=["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"],j=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],W=[...j,"#","\\"],$=[...j,"->","@"],ae=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/),N=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),re=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),oe=RegExp.prototype.test.bind(/^(true|false)$/),ie=48,ne=57,le=65,se=90,ue=10,me=13,pe=9,ce=32,de=95,H=47,Y=42,fe=35,xe=64,Z=e=>ie<=e&&e<=ne,ge=e=>(e&=-33,le<=e&&e<=se),ve=e=>e===ue||e===me,K=e=>ve(e)||e===pe||e===ce,X=e=>ge(e)||Z(e)||e===de,he=e=>e===fe||e===xe;function J(e,o=0){const i=[];let p=-1;const[d,f]=ae(e)?[q,$]:[U,W];for(;o<e.length;){let a=e[o];const s=e.charCodeAt(o++);if(K(s)){for(;K(e.charCodeAt(o));)a+=e[o++];i.push({type:"whitespace",value:a})}else if(Z(s)){for(;N(a+e[o])||re(a+e[o]);)a+=e[o++];N(a)?i.push({type:"float",value:a}):i.push({type:"int",value:a})}else if(X(s)){for(;X(e.charCodeAt(o));)a+=e[o++];oe(a)?i.push({type:"bool",value:a}):d.includes(he(p)?String.fromCharCode(p)+a:a)?i.push({type:"keyword",value:a}):i.push({type:"identifier",value:a})}else if(s===H&&(e.charCodeAt(o)===H||e.charCodeAt(o)===Y)){const u=e.charCodeAt(o)===Y?"*/":`
2
+ `;for(;!a.endsWith(u);)a+=e[o++];i.push({type:"comment",value:a})}else{for(const u of f)u.length>a.length&&e.startsWith(u,o-1)&&(a=u);o+=a.length-1,i.push({type:"symbol",value:a})}p=s}return i}const Q=RegExp.prototype.test.bind(/^\w/),_e=RegExp.prototype.test.bind(/[^\w\\]/),ee=RegExp.prototype.test.bind(/^[_A-Za-z]/),ye=RegExp.prototype.test.bind(/[;{}\\@]/),te=RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/);function be(e,{mangle:o=!1,mangleMap:i=new Map,mangleExternals:p=!1}={}){var d,f,a,s,u,h,_,y,b,D,w,S,k,C,L,A,M,E,B,R,F,O;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const T=new Map,r=J(e).filter(t=>t.type!=="whitespace"&&t.type!=="comment");let I=-1,P=-1,g=-1,m="";for(let t=0;t<r.length;t++){const n=r[t];(te(n.value)||ye((d=r[t-1])==null?void 0:d.value))&&(P=t),n.value==="{"&&ee((f=r[t-1])==null?void 0:f.value)?g=t-1:n.value==="}"&&(g=-1),Q(n.value)&&Q((a=r[t-1])==null?void 0:a.value)&&(m+=" "),_e(n.value)&&(((s=r[t-2])==null?void 0:s.value)==="#"&&((u=r[t-1])==null?void 0:u.value)==="include"||((h=r[t-3])==null?void 0:h.value)==="#"&&((_=r[t-2])==null?void 0:_.value)==="define")&&(m+=" ");let c=n.value;if(((y=r[t-1])==null?void 0:y.value)==="."&&(c=`${(b=r[t-2])==null?void 0:b.value}.`+c),n.type==="identifier"&&c!=="main"&&(typeof o=="boolean"?o:o(n,t,r))){const G=((D=r[t-1])==null?void 0:D.value)==="}"&&((w=r[t+1])==null?void 0:w.value)===";",v=te((S=r[P])==null?void 0:S.value),V=v&&((k=r[t-1])==null?void 0:k.value)===",";let l=(C=i.get(c))!=null?C:T.get(c);if(!l&&g===-1&&(ee((L=r[t-1])==null?void 0:L.value)||G||V||((A=r[t-1])==null?void 0:A.type)==="symbol"&&((M=r[t+1])==null?void 0:M.value)===":")&&(p||!v)){const z=p&&v||((E=r[t-2])==null?void 0:E.value)==="#"||G||V||((B=r[t-1])==null?void 0:B.value)==="fn"&&(((R=r[t-2])==null?void 0:R.value)===")"||((F=r[t-3])==null?void 0:F.value)==="@")?i:T;for(;!l||z.has(l);){l="",I++;let x=I;for(;x>0;)l=String.fromCharCode(97+(x-1)%26)+l,x=Math.floor(x/26)}z.set(c,l)}m+=l!=null?l:n.value}else n.value==="#"&&((O=r[t-1])==null?void 0:O.value)!=="\\"?m+=`
3
+ #`:n.value==="\\"?m+=`
4
+ `:m+=n.value}return m.trim()}export{U as GLSL_KEYWORDS,W as GLSL_SYMBOLS,q as WGSL_KEYWORDS,$ as WGSL_SYMBOLS,be as minify,J as tokenize};
5
5
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["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","value","char","terminator","symbol","isWord","isSymbol","isName","isStorage","minify","mangle","mangleMap","mangleExternals","_a","_b","_c","_d","_e","_f","_g","_h","_i","_j","_k","_l","_m","_n","_o","_p","_q","_r","_s","mangleCache","exclude","token","mangleIndex","blockIndex","minified","i","namespace","storage","renamed","j"],"mappings":"AACO,MAAMA,EAAgB,CAE3B,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QAGA,SACA,UACA,UACA,SACA,UACA,UACA,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,EAAgB,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,WAC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"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/tokenizer.ts","../src/minifier.ts"],"sourcesContent":null,"names":["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","value","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"],"mappings":"AACO,MAAMA,EAAgB,CAE3B,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QACA,OACA,QACA,QACA,QACA,QAGA,SACA,UACA,UACA,SACA,UACA,UACA,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,EAAgB,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,WAC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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shaderkit",
3
- "version": "0.1.12",
3
+ "version": "0.1.13",
4
4
  "description": "Tools and IntelliSense for GLSL and WGSL.",
5
5
  "keywords": [
6
6
  "shaders",
package/src/minifier.ts CHANGED
@@ -14,7 +14,8 @@ export interface MinifyOptions {
14
14
  const isWord = RegExp.prototype.test.bind(/^\w/)
15
15
  const isSymbol = RegExp.prototype.test.bind(/[^\w\\]/)
16
16
  const isName = RegExp.prototype.test.bind(/^[_A-Za-z]/)
17
- const isStorage = RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying|,)$/)
17
+ const isScoped = RegExp.prototype.test.bind(/[;{}\\@]/)
18
+ const isStorage = RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/)
18
19
 
19
20
  /**
20
21
  * Minifies a string of GLSL or WGSL code.
@@ -27,21 +28,24 @@ export function minify(
27
28
  code = code.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm, '$1\\$2')
28
29
 
29
30
  const mangleCache = new Map()
30
- const exclude = new Set<string>(mangleMap.values())
31
31
  const tokens: Token[] = tokenize(code).filter((token) => token.type !== 'whitespace' && token.type !== 'comment')
32
32
 
33
- let mangleIndex: number = 0
34
- let blockIndex: number | null = null
33
+ let mangleIndex: number = -1
34
+ let lineIndex: number = -1
35
+ let blockIndex: number = -1
35
36
  let minified: string = ''
36
37
  for (let i = 0; i < tokens.length; i++) {
37
38
  const token = tokens[i]
38
39
 
39
- // Pad alphanumeric tokens
40
- if (isWord(token.value) && isWord(tokens[i - 1]?.value)) minified += ' '
40
+ // Track possibly external scopes
41
+ if (isStorage(token.value) || isScoped(tokens[i - 1]?.value)) lineIndex = i
41
42
 
42
43
  // Mark enter/leave block-scope
43
44
  if (token.value === '{' && isName(tokens[i - 1]?.value)) blockIndex = i - 1
44
- else if (token.value === '}') blockIndex = null
45
+ else if (token.value === '}') blockIndex = -1
46
+
47
+ // Pad alphanumeric tokens
48
+ if (isWord(token.value) && isWord(tokens[i - 1]?.value)) minified += ' '
45
49
 
46
50
  // Pad symbols around #define and three.js #include (white-space sensitive)
47
51
  if (
@@ -51,43 +55,38 @@ export function minify(
51
55
  )
52
56
  minified += ' '
53
57
 
58
+ let prefix = token.value
59
+ if (tokens[i - 1]?.value === '.') {
60
+ prefix = `${tokens[i - 2]?.value}.` + prefix
61
+ }
62
+
54
63
  // Mangle declarations and their references
55
64
  if (
56
65
  token.type === 'identifier' &&
57
66
  // Filter variable names
58
- token.value !== 'main' &&
67
+ prefix !== 'main' &&
59
68
  (typeof mangle === 'boolean' ? mangle : mangle(token, i, tokens))
60
69
  ) {
61
70
  const namespace = tokens[i - 1]?.value === '}' && tokens[i + 1]?.value === ';'
62
- const storage = isStorage(tokens[i - 1]?.value) || isStorage(tokens[i - 2]?.value)
63
- let renamed = mangleMap.get(token.value) ?? mangleCache.get(token.value)
71
+ const storage = isStorage(tokens[lineIndex]?.value)
72
+ const list = storage && tokens[i - 1]?.value === ','
73
+ let renamed = mangleMap.get(prefix) ?? mangleCache.get(prefix)
64
74
  if (
65
75
  // no-op
66
76
  !renamed &&
67
77
  // Skip struct properties
68
- blockIndex == null &&
78
+ blockIndex === -1 &&
69
79
  // Is declaration, reference, namespace, or comma-separated list
70
80
  (isName(tokens[i - 1]?.value) ||
71
81
  // uniform Type { ... } name;
72
82
  namespace ||
73
- // float foo, bar;
74
- tokens[i - 1]?.value === ',' ||
83
+ // uniform float foo, bar;
84
+ list ||
75
85
  // fn (arg: type) -> void
76
- tokens[i + 1]?.value === ':') &&
86
+ (tokens[i - 1]?.type === 'symbol' && tokens[i + 1]?.value === ':')) &&
77
87
  // Skip shader externals when disabled
78
88
  (mangleExternals || !storage)
79
89
  ) {
80
- while (!renamed || exclude.has(renamed)) {
81
- renamed = ''
82
- mangleIndex++
83
-
84
- let j = mangleIndex
85
- while (j > 0) {
86
- renamed = String.fromCharCode(97 + ((j - 1) % 26)) + renamed
87
- j = Math.floor(j / 26)
88
- }
89
- }
90
-
91
90
  // Write shader externals and preprocessor defines to mangleMap for multiple passes
92
91
  // TODO: do so via scope tracking
93
92
  const isExternal =
@@ -97,10 +96,24 @@ export function minify(
97
96
  tokens[i - 2]?.value === '#' ||
98
97
  // Namespaced uniform structs
99
98
  namespace ||
99
+ // Comma-separated list of uniforms
100
+ list ||
100
101
  // WGSL entrypoints via @stage or @workgroup_size(...)
101
102
  (tokens[i - 1]?.value === 'fn' && (tokens[i - 2]?.value === ')' || tokens[i - 3]?.value === '@'))
102
103
  const cache = isExternal ? mangleMap : mangleCache
103
- cache.set(token.value, renamed)
104
+
105
+ while (!renamed || cache.has(renamed)) {
106
+ renamed = ''
107
+ mangleIndex++
108
+
109
+ let j = mangleIndex
110
+ while (j > 0) {
111
+ renamed = String.fromCharCode(97 + ((j - 1) % 26)) + renamed
112
+ j = Math.floor(j / 26)
113
+ }
114
+ }
115
+
116
+ cache.set(prefix, renamed)
104
117
  }
105
118
 
106
119
  minified += renamed ?? token.value