shaderkit 0.1.11 → 0.1.12
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/dist/index.cjs +4 -4
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/minifier.ts +20 -5
package/dist/index.cjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
2
|
-
`;for(;!
|
|
3
|
-
#`:
|
|
4
|
-
`:m+=
|
|
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;
|
|
5
5
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -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","exclude","token","mangleIndex","blockIndex","minified","i","_a","_b","_c","_d","_e","_f","
|
|
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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"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
const
|
|
2
|
-
`;for(;!
|
|
3
|
-
#`:
|
|
4
|
-
`:m+=
|
|
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};
|
|
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","exclude","token","mangleIndex","blockIndex","minified","i","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,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,SAGA,WAGA,YAIA,gBACA,mBACF,EAEMC,EAAU,CAEd,KACA,KACA,KAGA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAGA,IACA,KACA,KACA,IAGA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,KACA,KAGA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,IACF,EAGaC,EAAe,CAC1B,GAAGD,EAEH,IAEA,IACF,EAGaE,EAAe,CAC1B,GAAGF,EAEH,KAEA,GACF,EC13BMG,EAAS,OAAO,UAAU,KAAK,KAAK,0CAA0C,EAE9EC,EAAU,OAAO,UAAU,KAAK,KAAK,+CAA+C,EACpFC,EAAQ,OAAO,UAAU,KAAK,KAAK,6BAA6B,EAChEC,EAAS,OAAO,UAAU,KAAK,KAAK,gBAAgB,EAEpDC,EAAO,GACPC,
|
|
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,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,SAGA,WAGA,YAIA,gBACA,mBACF,EAEMC,EAAU,CAEd,KACA,KACA,KAGA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IAGA,IACA,KACA,KACA,IAGA,IACA,IACA,IACA,IACA,KACA,IACA,KACA,IACA,KACA,KACA,KACA,KACA,IACA,IACA,KACA,IACA,IACA,KACA,KAGA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,IACF,EAGaC,EAAe,CAC1B,GAAGD,EAEH,IAEA,IACF,EAGaE,EAAe,CAC1B,GAAGF,EAEH,KAEA,GACF,EC13BMG,EAAS,OAAO,UAAU,KAAK,KAAK,0CAA0C,EAE9EC,EAAU,OAAO,UAAU,KAAK,KAAK,+CAA+C,EACpFC,EAAQ,OAAO,UAAU,KAAK,KAAK,6BAA6B,EAChEC,EAAS,OAAO,UAAU,KAAK,KAAK,gBAAgB,EAEpDC,EAAO,GACPC,GAAO,GACPC,GAAI,GACJC,GAAI,GACJC,GAAK,GACLC,GAAK,GACLC,GAAM,EACNC,GAAQ,GACRC,GAAa,GACbC,EAAQ,GACRC,EAAO,GACPC,GAAO,GACPC,GAAK,GAELC,EAAWC,GAAcd,GAAQc,GAAKA,GAAKb,GAC3Cc,GAAWD,IAAgBA,GAAK,IAAMZ,IAAKY,GAAKA,GAAKX,IACrDa,GAAUF,GAAcA,IAAMV,IAAMU,IAAMT,GAC1CY,EAAWH,GAAcE,GAAOF,CAAC,GAAKA,IAAMR,IAAOQ,IAAMP,GACzDW,EAAWJ,GAAcC,GAAQD,CAAC,GAAKD,EAAQC,CAAC,GAAKA,IAAMN,GAC3DW,GAAWL,GAAcA,IAAMH,IAAQG,IAAMF,GAKnC,SAAAQ,EAASC,EAAcC,EAAgB,EAAY,CACjE,MAAMC,EAAkB,CAAA,EAExB,IAAIC,EAAe,GACnB,KAAM,CAACC,EAAUhC,CAAO,EAAIG,EAAOyB,CAAI,EAAI,CAAC9B,EAAeI,CAAY,EAAI,CAACH,EAAeE,CAAY,EAChG4B,KAAAA,EAAQD,EAAK,QAAQ,CACtBK,IAAAA,EAAQL,EAAKC,CAAK,EAChBK,MAAAA,EAAON,EAAK,WAAWC,GAAO,EAEhCL,GAAAA,EAAQU,CAAI,EAAG,CACjB,KAAOV,EAAQI,EAAK,WAAWC,CAAK,CAAC,GAAGI,GAASL,EAAKC,GAAO,EAC7DC,EAAO,KAAK,CAAE,KAAM,aAAc,MAAAG,CAAO,CAAA,CAAA,SAChCb,EAAQc,CAAI,EAAG,CACjB9B,KAAAA,EAAQ6B,EAAQL,EAAKC,CAAK,CAAC,GAAKxB,EAAM4B,EAAQL,EAAKC,CAAK,CAAC,GAAGI,GAASL,EAAKC,GAAO,EACpFzB,EAAQ6B,CAAK,EAAGH,EAAO,KAAK,CAAE,KAAM,QAAS,MAAAG,CAAO,CAAA,EACnDH,EAAO,KAAK,CAAE,KAAM,MAAO,MAAAG,CAAO,CAAA,CAAA,SAC9BR,EAAQS,CAAI,EAAG,CACxB,KAAOT,EAAQG,EAAK,WAAWC,CAAK,CAAC,GAAGI,GAASL,EAAKC,GAAO,EACzDvB,EAAO2B,CAAK,EAAGH,EAAO,KAAK,CAAE,KAAM,OAAQ,MAAAG,CAAO,CAAA,EAC7CD,EAAS,SAASN,GAAQK,CAAI,EAAI,OAAO,aAAaA,CAAI,EAAIE,EAAQA,CAAK,EAClFH,EAAO,KAAK,CAAE,KAAM,UAAW,MAAAG,CAAO,CAAA,EACnCH,EAAO,KAAK,CAAE,KAAM,aAAc,MAAAG,CAAO,CAAA,CACrC,SAAAC,IAASlB,IAAUY,EAAK,WAAWC,CAAK,IAAMb,GAASY,EAAK,WAAWC,CAAK,IAAMZ,GAAO,CAClG,MAAMkB,EAAaP,EAAK,WAAWC,CAAK,IAAMZ,EAAO,KAAO;AAAA,EACrD,KAAA,CAACgB,EAAM,SAASE,CAAU,GAAGF,GAASL,EAAKC,GAAO,EACzDC,EAAO,KAAK,CAAE,KAAM,UAAW,MAAAG,CAAO,CAAA,CAAA,KACjC,CACL,UAAWG,KAAUpC,EACfoC,EAAO,OAASH,EAAM,QAAUL,EAAK,WAAWQ,EAAQP,EAAQ,CAAC,IAAWI,EAAAG,GAElFP,GAASI,EAAM,OAAS,EACxBH,EAAO,KAAK,CAAE,KAAM,SAAU,MAAAG,CAAO,CAAA,CACvC,CACOF,EAAAG,CACT,CAEOJ,OAAAA,CACT,CChEA,MAAMO,EAAS,OAAO,UAAU,KAAK,KAAK,KAAK,EACzCC,GAAW,OAAO,UAAU,KAAK,KAAK,SAAS,EAC/CC,EAAS,OAAO,UAAU,KAAK,KAAK,YAAY,EAChDC,EAAY,OAAO,UAAU,KAAK,KAAK,6DAA6D,EAKnG,SAASC,GACdb,EACA,CAAE,OAAAc,EAAS,GAAO,UAAAC,EAAgB,IAAA,IAAO,gBAAAC,EAAkB,EAAM,EAA4B,CAAA,EACrF,CFvBH,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EEyBEnC,EAAAA,EAAK,QAAQ,gCAAiC,QAAQ,EAEvDoC,MAAAA,MAAkB,IAClBC,EAAU,IAAI,IAAYtB,EAAU,OAAQ,CAAA,EAC5Cb,EAAkBH,EAASC,CAAI,EAAE,OAAQsC,GAAUA,EAAM,OAAS,cAAgBA,EAAM,OAAS,SAAS,EAEhH,IAAIC,EAAsB,EACtBC,EAA4B,KAC5BC,EAAmB,GACvB,QAASC,EAAI,EAAGA,EAAIxC,EAAO,OAAQwC,IAAK,CAChCJ,MAAAA,EAAQpC,EAAOwC,CAAC,EAkBtB,GAfIjC,EAAO6B,EAAM,KAAK,GAAK7B,GAAOQ,EAAAf,EAAOwC,EAAI,CAAC,IAAZ,YAAAzB,EAAe,KAAK,IAAewB,GAAA,KAGjEH,EAAM,QAAU,KAAO3B,GAAOO,EAAAhB,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAxB,EAAe,KAAK,EAAGsB,EAAaE,EAAI,EACjEJ,EAAM,QAAU,MAAkBE,EAAA,MAIzC9B,GAAS4B,EAAM,KAAK,MAClBnB,EAAAjB,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAvB,EAAe,SAAU,OAAOC,EAAAlB,EAAOwC,EAAI,CAAC,IAAZ,YAAAtB,EAAe,SAAU,aACxDC,EAAAnB,EAAOwC,EAAI,CAAC,IAAZ,KAAArB,OAAAA,EAAe,SAAU,OAAOC,EAAApB,EAAOwC,EAAI,CAAC,IAAZ,YAAApB,EAAe,SAAU,YAEhDmB,GAAA,KAIZH,EAAM,OAAS,cAEfA,EAAM,QAAU,SACf,OAAOxB,GAAW,UAAYA,EAASA,EAAOwB,EAAOI,EAAGxC,CAAM,GAC/D,CACM,MAAAyC,IAAYpB,EAAArB,EAAOwC,EAAI,CAAC,IAAZ,KAAAnB,OAAAA,EAAe,SAAU,OAAOC,EAAAtB,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAlB,EAAe,SAAU,IACrEoB,EAAUhC,GAAUa,EAAAvB,EAAOwC,EAAI,CAAC,IAAZ,YAAAjB,EAAe,KAAK,GAAKb,GAAUc,EAAAxB,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAhB,EAAe,KAAK,EAC7E,IAAAmB,GAAUlB,EAAAZ,EAAU,IAAIuB,EAAM,KAAK,IAAzB,KAAAX,EAA8BS,EAAY,IAAIE,EAAM,KAAK,EACvE,GAEE,CAACO,GAEDL,GAAc,OAEb7B,GAAOiB,EAAA1B,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAd,EAAe,KAAK,GAE1Be,KAEAd,EAAA3B,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAb,EAAe,SAAU,OAEzBC,EAAA5B,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAZ,EAAe,SAAU,OAE1Bd,GAAmB,CAAC4B,GACrB,CACA,KAAO,CAACC,GAAWR,EAAQ,IAAIQ,CAAO,GAAG,CAC7BA,EAAA,GACVN,IAEA,IAAIO,EAAIP,EACR,KAAOO,EAAI,GACTD,EAAU,OAAO,aAAa,IAAOC,EAAI,GAAK,EAAG,EAAID,EACjDC,EAAA,KAAK,MAAMA,EAAI,EAAE,CAEzB,EAMG9B,GAAmB4B,KAEpBb,EAAA7B,EAAOwC,EAAI,CAAC,IAAZ,KAAA,OAAAX,EAAe,SAAU,KAEzBY,KAECX,EAAA9B,EAAOwC,EAAI,CAAC,IAAZ,KAAAV,OAAAA,EAAe,SAAU,SAASC,EAAA/B,EAAOwC,EAAI,CAAC,IAAZ,KAAAT,OAAAA,EAAe,SAAU,OAAOC,EAAAhC,EAAOwC,EAAI,CAAC,IAAZ,KAAAR,OAAAA,EAAe,SAAU,KACnEnB,EAAYqB,GACjC,IAAIE,EAAM,MAAOO,CAAO,CAChC,CAEAJ,GAAYI,GAAA,KAAAA,EAAWP,EAAM,KAAA,MAEzBA,EAAM,QAAU,OAAOH,EAAAjC,EAAOwC,EAAI,CAAC,IAAZ,KAAAP,OAAAA,EAAe,SAAU,KAAkBM,GAAA;AAAA,GAC7DH,EAAM,QAAU,KAAkBG,GAAA;AAAA,EACtCA,GAAYH,EAAM,KAE3B,CAEA,OAAOG,EAAS,MAClB"}
|
package/package.json
CHANGED
package/src/minifier.ts
CHANGED
|
@@ -14,7 +14,7 @@ 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(/^(uniform|in|out|attribute|varying|,)$/)
|
|
17
|
+
const isStorage = RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying|,)$/)
|
|
18
18
|
|
|
19
19
|
/**
|
|
20
20
|
* Minifies a string of GLSL or WGSL code.
|
|
@@ -26,6 +26,7 @@ export function minify(
|
|
|
26
26
|
// Escape newlines after directives, skip comments
|
|
27
27
|
code = code.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm, '$1\\$2')
|
|
28
28
|
|
|
29
|
+
const mangleCache = new Map()
|
|
29
30
|
const exclude = new Set<string>(mangleMap.values())
|
|
30
31
|
const tokens: Token[] = tokenize(code).filter((token) => token.type !== 'whitespace' && token.type !== 'comment')
|
|
31
32
|
|
|
@@ -57,7 +58,9 @@ export function minify(
|
|
|
57
58
|
token.value !== 'main' &&
|
|
58
59
|
(typeof mangle === 'boolean' ? mangle : mangle(token, i, tokens))
|
|
59
60
|
) {
|
|
60
|
-
|
|
61
|
+
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)
|
|
61
64
|
if (
|
|
62
65
|
// no-op
|
|
63
66
|
!renamed &&
|
|
@@ -66,13 +69,13 @@ export function minify(
|
|
|
66
69
|
// Is declaration, reference, namespace, or comma-separated list
|
|
67
70
|
(isName(tokens[i - 1]?.value) ||
|
|
68
71
|
// uniform Type { ... } name;
|
|
69
|
-
|
|
72
|
+
namespace ||
|
|
70
73
|
// float foo, bar;
|
|
71
74
|
tokens[i - 1]?.value === ',' ||
|
|
72
75
|
// fn (arg: type) -> void
|
|
73
76
|
tokens[i + 1]?.value === ':') &&
|
|
74
77
|
// Skip shader externals when disabled
|
|
75
|
-
(mangleExternals ||
|
|
78
|
+
(mangleExternals || !storage)
|
|
76
79
|
) {
|
|
77
80
|
while (!renamed || exclude.has(renamed)) {
|
|
78
81
|
renamed = ''
|
|
@@ -85,7 +88,19 @@ export function minify(
|
|
|
85
88
|
}
|
|
86
89
|
}
|
|
87
90
|
|
|
88
|
-
mangleMap
|
|
91
|
+
// Write shader externals and preprocessor defines to mangleMap for multiple passes
|
|
92
|
+
// TODO: do so via scope tracking
|
|
93
|
+
const isExternal =
|
|
94
|
+
// Shader externals
|
|
95
|
+
(mangleExternals && storage) ||
|
|
96
|
+
// Defines
|
|
97
|
+
tokens[i - 2]?.value === '#' ||
|
|
98
|
+
// Namespaced uniform structs
|
|
99
|
+
namespace ||
|
|
100
|
+
// WGSL entrypoints via @stage or @workgroup_size(...)
|
|
101
|
+
(tokens[i - 1]?.value === 'fn' && (tokens[i - 2]?.value === ')' || tokens[i - 3]?.value === '@'))
|
|
102
|
+
const cache = isExternal ? mangleMap : mangleCache
|
|
103
|
+
cache.set(token.value, renamed)
|
|
89
104
|
}
|
|
90
105
|
|
|
91
106
|
minified += renamed ?? token.value
|