shaderkit 0.7.0 → 0.8.0

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.js CHANGED
@@ -1,8 +1,11 @@
1
- const j=["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","fn","for","if","let","loop","override","return","struct","switch","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"],q=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2","buffer","shared","gl_HelperInvocation","gl_NumWorkGroups","gl_WorkGroupSize","gl_WorkGroupID","gl_LocalInvocationID","gl_GlobalInvocationID","gl_LocalInvocationIndex","gl_MaxImageUnits","gl_MaxVertexImageUniforms","gl_MaxFragmentImageUniforms","gl_MaxComputeImageUniforms","gl_MaxCombinedImageUniforms","gl_MaxCombinedShaderOutputResources","gl_MaxComputeWorkGroupCount","gl_MaxComputeWorkGroupSize","gl_MaxComputeUniformComponents","gl_MaxComputeTextureImageUnits","gl_MaxComputeAtomicCounters","gl_MaxComputeAtomicCounterBuffers","gl_MaxVertexAtomicCounters","gl_MaxFragmentAtomicCounters","gl_MaxCombinedAtomicCounters","gl_MaxAtomicCounterBindings","gl_MaxFragmentAtomicCounterBuffers","gl_MaxVertexAtomicCounterBuffers","gl_MaxCombinedAtomicCounterBuffers","gl_MaxAtomicCounterBufferSize","imageSize","packUnorm4x8","packSnorm4x8","unpackUnorm4x8","unpackSnorm4x8","bitfieldExtract","bitfieldInsert","bitfieldReverse","bitCount","findLSB","findMSB","uaddCarry","usubBorrow","umulExtended","imulExtended","atomicCounterIncrement","atomicCounterDecrement","atomicCounter","atomicAdd","atomicMin","atomicMax","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompSwap","imageLoad","imageStore","barrier","memoryBarrier","memoryBarrierAtomicCounter","memoryBarrierBuffer","memoryBarrierImage","memoryBarrierShared","groupMemoryBarrier"],z=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],W=[...z,"#","\\"],X=[...z,"->","@"];function R(e){return e?`layout(${Object.entries(e).map(([t,a])=>a===!0?t:`${t}=${a}`).join(",")})`:""}function u(e){if(!e)return"";switch(e.type){case"Identifier":return e.name;case"Literal":return e.value;case"ArraySpecifier":return`${e.typeSpecifier.name}${e.dimensions.map(t=>`[${u(t)}]`).join("")}`;case"ExpressionStatement":return`${u(e.expression)};`;case"BlockStatement":return`{${e.body.map(u).join("")}}`;case"DiscardStatement":return"discard;";case"PreprocessorStatement":{let t="";return e.value&&(e.name==="include"?t=` <${u(e.value[0])}>`:e.name==="extension"?t=` ${e.value.map(u).join(":")}`:e.value.length&&(t=` ${e.value.map(u).join(" ")}`)),`
1
+ const P=["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","fn","for","if","let","loop","override","return","struct","switch","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"],R=["const","uniform","layout","centroid","flat","smooth","break","continue","do","for","while","switch","case","default","if","else","in","out","inout","float","int","void","bool","invariant","discard","return","mat2","mat3","mat4","mat2x2","mat2x3","mat2x4","mat3x2","mat3x3","mat3x4","mat4x2","mat4x3","mat4x4","vec2","vec3","vec4","ivec2","ivec3","ivec4","bvec2","bvec3","bvec4","uint","uvec2","uvec3","uvec4","lowp","mediump","highp","precision","sampler2D","sampler3D","samplerCube","sampler2DShadow","samplerCubeShadow","sampler2DArray","sampler2DArrayShadow","isampler2D","isampler3D","isamplerCube","isampler2DArray","usampler2D","usampler3D","usamplerCube","usampler2DArray","struct","attribute","varying","coherent","volatile","restrict","readonly","writeonly","resource","atomic_uint","noperspective","patch","sample","subroutine","common","partition","active","asm","class","union","enum","typedef","template","this","goto","inline","noinline","volatile","public","static","extern","external","interface","long","short","double","half","fixed","unsigned","superp","input","output","hvec2","hvec3","hvec4","dvec2","dvec3","dvec4","fvec2","fvec3","fvec4","sampler3DRect","filter","image1D","image2D","image3D","imageCube","iimage1D","iimage2D","iimage3D","iimageCube","uimage1D","uimage2D","uimage3D","uimageCube","image1DArray","image2DArray","iimage1DArray","iimage2DArray","uimage1DArray","uimage2DArray","imageBuffer","iimageBuffer","uimageBuffer","sampler1D","sampler1DShadow","sampler1DArray","sampler1DArrayShadow","isampler1D","isampler1DArray","usampler1D","usampler1DArray","sampler2DRect","sampler2DRectShadow","isampler2DRect","usampler2DRect","samplerBuffer","isamplerBuffer","usamplerBuffer","sampler2DMS","isampler2DMS","usampler2DMS","sampler2DMSArray","isampler2DMSArray","usampler2DMSArray","sizeof","cast","namespace","using","#define","#undef","#if","#ifdef","#ifndef","#else","#elif","#endif","#error","#pragma","#extension","#version","#line","defined","__LINE__","__FILE__","__VERSION__","GL_ES","gl_VertexID","gl_InstanceID","gl_Position","gl_PointSize","gl_FragCoord","gl_FrontFacing","gl_FragDepth","gl_PointCoord","gl_MaxVertexAttribs","gl_MaxVertexUniformVectors","gl_MaxVertexOutputVectors","gl_MaxFragmentInputVectors","gl_MaxVertexTextureImageUnits","gl_MaxCombinedTextureImageUnits","gl_MaxTextureImageUnits","gl_MaxFragmentUniformVectors","gl_MaxDrawBuffers","gl_MinProgramTexelOffset","gl_MaxProgramTexelOffset","gl_DepthRangeParameters","gl_DepthRange","radians","degrees","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","pow","exp","log","exp2","log2","sqrt","inversesqrt","abs","sign","floor","trunc","round","roundEven","ceil","fract","mod","modf","min","max","clamp","mix","step","smoothstep","isnan","isinf","floatBitsToInt","floatBitsToUint","intBitsToFloat","uintBitsToFloat","packSnorm2x16","unpackSnorm2x16","packUnorm2x16","unpackUnorm2x16","packHalf2x16","unpackHalf2x16","length","distance","dot","cross","normalize","faceforward","reflect","refract","matrixCompMult","outerProduct","transpose","determinant","inverse","lessThan","lessThanEqual","greaterThan","greaterThanEqual","equal","notEqual","any","all","not","textureSize","texture","textureProj","textureLod","textureOffset","texelFetch","texelFetchOffset","textureProjOffset","textureLodOffset","textureProjLod","textureProjLodOffset","textureGrad","textureGradOffset","textureProjGrad","textureProjGradOffset","dFdx","dFdy","fwidth","#include","gl_FragColor","gl_FragDepthEXT","texture2D","textureCube","texture2DProj","texture2DLodEXT","texture2DProjLodEXT","textureCubeLodEXT","texture2DGradEXT","texture2DProjGradEXT","textureCubeGradEXT","gl_DrawID","gl_ViewID_OVR","GL_OVR_multiview2","buffer","shared","gl_HelperInvocation","gl_NumWorkGroups","gl_WorkGroupSize","gl_WorkGroupID","gl_LocalInvocationID","gl_GlobalInvocationID","gl_LocalInvocationIndex","gl_MaxImageUnits","gl_MaxVertexImageUniforms","gl_MaxFragmentImageUniforms","gl_MaxComputeImageUniforms","gl_MaxCombinedImageUniforms","gl_MaxCombinedShaderOutputResources","gl_MaxComputeWorkGroupCount","gl_MaxComputeWorkGroupSize","gl_MaxComputeUniformComponents","gl_MaxComputeTextureImageUnits","gl_MaxComputeAtomicCounters","gl_MaxComputeAtomicCounterBuffers","gl_MaxVertexAtomicCounters","gl_MaxFragmentAtomicCounters","gl_MaxCombinedAtomicCounters","gl_MaxAtomicCounterBindings","gl_MaxFragmentAtomicCounterBuffers","gl_MaxVertexAtomicCounterBuffers","gl_MaxCombinedAtomicCounterBuffers","gl_MaxAtomicCounterBufferSize","imageSize","packUnorm4x8","packSnorm4x8","unpackUnorm4x8","unpackSnorm4x8","bitfieldExtract","bitfieldInsert","bitfieldReverse","bitCount","findLSB","findMSB","uaddCarry","usubBorrow","umulExtended","imulExtended","atomicCounterIncrement","atomicCounterDecrement","atomicCounter","atomicAdd","atomicMin","atomicMax","atomicAnd","atomicOr","atomicXor","atomicExchange","atomicCompSwap","imageLoad","imageStore","barrier","memoryBarrier","memoryBarrierAtomicCounter","memoryBarrierBuffer","memoryBarrierImage","memoryBarrierShared","groupMemoryBarrier"],W=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],X=[...W,"#","\\"],Q=[...W,"->","@"];function F(e){return e?`layout(${Object.entries(e).map(([t,r])=>r===!0?t:`${t}=${r}`).join(",")})`:""}function u(e){if(!e)return"";switch(e.type){case"Identifier":return e.name;case"Literal":return e.value;case"ArraySpecifier":return`${e.typeSpecifier.name}${e.dimensions.map(t=>`[${u(t)}]`).join("")}`;case"ExpressionStatement":return`${u(e.expression)};`;case"BlockStatement":return`{${e.body.map(u).join("")}}`;case"DiscardStatement":return"discard;";case"PreprocessorStatement":{let t="";return e.value&&(e.name==="include"?t=` <${u(e.value[0])}>`:e.name==="extension"?t=` ${e.value.map(u).join(":")}`:e.value.length&&(t=` ${e.value.map(u).join(" ")}`)),`
2
2
  #${e.name}${t}
3
- `}case"PrecisionQualifierStatement":return`precision ${e.precision} ${e.typeSpecifier.name};`;case"InvariantQualifierStatement":return`invariant ${u(e.typeSpecifier)};`;case"LayoutQualifierStatement":return`${R(e.layout)}${e.qualifier};`;case"ReturnStatement":return e.argument?`return ${u(e.argument)};`:"return;";case"BreakStatement":return"break;";case"ContinueStatement":return"continue;";case"IfStatement":{const t=e.alternate?` else${u(e.consequent)}`:"";return`if(${u(e.test)})${u(e.consequent)}${t}`}case"SwitchStatement":return`switch(${u(e.discriminant)}){${e.cases.map(u).join("")}}`;case"SwitchCase":return`case ${e.test?u(e.test):"default"}:{${e.consequent.map(u).join(";")}}`;case"WhileStatement":return`while (${u(e.test)}) ${u(e.body)}`;case"DoWhileStatement":return`do ${u(e.body)}while(${u(e.test)})`;case"ForStatement":return`for(${u(e.init)};${u(e.test)};${u(e.update)})${u(e.body)}`;case"FunctionDeclaration":{const t=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",a=e.body?u(e.body):";";return`${t}${u(e.typeSpecifier)} ${u(e.id)}(${e.params.map(u).join(",")})${a}`}case"FunctionParameter":{const t=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",a=e.id?` ${u(e.id)}`:"";return`${t}${u(e.typeSpecifier)}${a}`}case"VariableDeclaration":{const t=e.declarations[0],a=R(t.layout),r=t.qualifiers.length?`${t.qualifiers.join(" ")} `:"";return`${a}${r}${u(t.typeSpecifier)} ${e.declarations.map(u).join(",")};`}case"VariableDeclarator":{const t=e.init?`=${u(e.init)}`:"";return`${u(e.id)}${t}`}case"StructuredBufferDeclaration":{const t=R(e.layout),a=e.id?`${u(e.id)}`:"";return`${t}${e.qualifiers.join(" ")} ${u(e.typeSpecifier)}{${e.members.map(u).join("")}}${a};`}case"StructDeclaration":return`struct ${u(e.id)}{${e.members.map(u).join("")}};`;case"ArrayExpression":return`${u(e.typeSpecifier)}(${e.elements.map(u).join(",")})`;case"UnaryExpression":case"UpdateExpression":return e.prefix?`${e.operator}${u(e.argument)}`:`${u(e.argument)}${e.operator}`;case"BinaryExpression":case"AssignmentExpression":case"LogicalExpression":return`${u(e.left)}${e.operator}${u(e.right)}`;case"MemberExpression":return e.computed?`${u(e.object)}[${u(e.property)}]`:`${u(e.object)}.${u(e.property)}`;case"ConditionalExpression":return`${u(e.test)}?${u(e.alternate)}:${u(e.consequent)}`;case"CallExpression":return`${u(e.callee)}(${e.arguments.map(u).join(",")})`;case"Program":return`${e.body.map(u).join("")}`;default:return e}}function Q(e,t){return u(e).replaceAll(`
3
+ `}case"PrecisionQualifierStatement":return`precision ${e.precision} ${e.typeSpecifier.name};`;case"InvariantQualifierStatement":return`invariant ${u(e.typeSpecifier)};`;case"LayoutQualifierStatement":return`${F(e.layout)}${e.qualifier};`;case"ReturnStatement":return e.argument?`return ${u(e.argument)};`:"return;";case"BreakStatement":return"break;";case"ContinueStatement":return"continue;";case"IfStatement":{const t=e.alternate?` else${u(e.consequent)}`:"";return`if(${u(e.test)})${u(e.consequent)}${t}`}case"SwitchStatement":return`switch(${u(e.discriminant)}){${e.cases.map(u).join("")}}`;case"SwitchCase":return`case ${e.test?u(e.test):"default"}:{${e.consequent.map(u).join(";")}}`;case"WhileStatement":return`while (${u(e.test)}) ${u(e.body)}`;case"DoWhileStatement":return`do ${u(e.body)}while(${u(e.test)})`;case"ForStatement":return`for(${u(e.init)};${u(e.test)};${u(e.update)})${u(e.body)}`;case"FunctionDeclaration":{const t=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",r=e.body?u(e.body):";";return`${t}${u(e.typeSpecifier)} ${u(e.id)}(${e.params.map(u).join(",")})${r}`}case"FunctionParameter":{const t=e.qualifiers.length?`${e.qualifiers.join(" ")} `:"",r=e.id?` ${u(e.id)}`:"";return`${t}${u(e.typeSpecifier)}${r}`}case"VariableDeclaration":{const t=e.declarations[0],r=F(t.layout),a=t.qualifiers.length?`${t.qualifiers.join(" ")} `:"";return`${r}${a}${u(t.typeSpecifier)} ${e.declarations.map(u).join(",")};`}case"VariableDeclarator":{const t=e.init?`=${u(e.init)}`:"";return`${u(e.id)}${t}`}case"StructuredBufferDeclaration":{const t=F(e.layout),r=e.id?`${u(e.id)}`:"";return`${t}${e.qualifiers.join(" ")} ${u(e.typeSpecifier)}{${e.members.map(u).join("")}}${r};`}case"StructDeclaration":return`struct ${u(e.id)}{${e.members.map(u).join("")}};`;case"ArrayExpression":return`${u(e.typeSpecifier)}(${e.elements.map(u).join(",")})`;case"UnaryExpression":case"UpdateExpression":return e.prefix?`${e.operator}${u(e.argument)}`:`${u(e.argument)}${e.operator}`;case"BinaryExpression":case"AssignmentExpression":case"LogicalExpression":return`${u(e.left)}${e.operator}${u(e.right)}`;case"MemberExpression":return e.computed?`${u(e.object)}[${u(e.property)}]`:`${u(e.object)}.${u(e.property)}`;case"ConditionalExpression":return`${u(e.test)}?${u(e.alternate)}:${u(e.consequent)}`;case"CallExpression":return`${u(e.callee)}(${e.arguments.map(u).join(",")})`;case"Program":return`${e.body.map(u).join("")}`;default:return e}}function N(e,t){return u(e).replaceAll(`
4
4
 
5
5
  `,`
6
- `).replaceAll("] ","]").trim()}const me=/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/,N=/((\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?|\d+[eEpP][-+]?\d+)[fFhH]?/y,H=/(0[xX][\w\d]+|\d+)[iIuU]?/y,fe=/^(true|false)$/,de=48,ye=57,ge=65,xe=90,Y=10,ve=13,he=9,be=32,_e=95,Se=46,P=47,Z=42,De=35,we=64,F=e=>de<=e&&e<=ye,Ee=e=>(e&=-33,ge<=e&&e<=xe),$e=e=>e===Y||e===ve,K=e=>$e(e)||e===he||e===be,J=e=>Ee(e)||F(e)||e===_e,ke=e=>e===De||e===we;function T(e,t,a){return e.lastIndex=a,e.exec(t)?.[0]}function V(e,t=0){const[a,r]=me.test(e)?[j,X]:[q,W],l=new Set(a),i=new RegExp(r.sort((d,h)=>h.length-d.length).map(d=>d.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),"y"),x=[];let f,v,b;for(;t<e.length;)if(v=t,b=e.charCodeAt(t++),K(b)){for(;K(e.charCodeAt(t));)t++;f=e.slice(v,t),x.push({type:"whitespace",value:f})}else if(F(b)||b===Se&&F(e.charCodeAt(t)))(f=T(N,e,v))?(t=N.lastIndex,x.push({type:"float",value:f})):(f=T(H,e,v))&&(t=H.lastIndex,x.push({type:"int",value:f}));else if(J(b)){for(;J(e.charCodeAt(t));)t++;f=e.slice(v,t),fe.test(f)?x.push({type:"bool",value:f}):l.has(ke(e.charCodeAt(v-1))?e[v-1]+f:f)?x.push({type:"keyword",value:f}):x.push({type:"identifier",value:f})}else if(b===P&&e.charCodeAt(t)===P){for(;t<e.length&&e.charCodeAt(t)!==Y;)t++;f=e.slice(v,t),t++,x.push({type:"comment",value:f})}else if(b===P&&e.charCodeAt(t)===Z){for(;t<e.length&&(e.charCodeAt(t-2)!==Z||e.charCodeAt(t-1)!==P);)t++;f=e.slice(v,t),x.push({type:"comment",value:f})}else(f=T(i,e,v))&&(t+=f.length-1,x.push({type:"symbol",value:f}));return x}const ee={"~":14,"!":14,"--":14,"++":14,"-":14,"+":14},te={"--":15,"++":15,"(":16,"[":17,".":17},ae={",":1,"||":3,"^^":4,"&&":5,"|":6,"^":7,"&":8,"==":10,">":10,">=":10,"<":10,"<=":10,"!=":10,"<<":11,">>":11,"+":12,"-":12,"*":13,"/":13,"%":13},re={"=":2,"+=":2,"&=":2,"|=":2,"^=":2,"/=":2,"*=":2,"%=":2,"<<=":2,">>=":2,"-=":2,"?":9},ne=/^(const|buffer|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp|coherent|volatile|restrict|readonly|writeonly|attribute|varying)$/,Ce={"(":1,"[":1,"{":1,")":-1,"]":-1,"}":-1};function ie(e){return Ce[e.value]??0}function c(e,t=0){for(let a=0;a<e.length;a++){const r=e[a];if(r.type!=="whitespace"&&r.type!=="comment"){if(t===0)return r;t--}}return null}function n(e,t){let a=e.shift();for(;a&&(a.type==="whitespace"||a.type==="comment");)a=e.shift();if(a===void 0&&t!==void 0)throw new SyntaxError(`Expected "${t}"`);if(a===void 0)throw new SyntaxError("Unexpected end of input");if(t!==void 0&&a.value!==t)throw new SyntaxError(`Expected "${t}" got "${a.value}"`);return a}function g(e,t=0){let a=n(e),r;if(a.type==="identifier"||a.type==="keyword")r={type:"Identifier",name:a.value};else if(a.type==="bool"||a.type==="float"||a.type==="int")r={type:"Literal",value:a.value};else if(a.type==="symbol"&&a.value==="(")r=g(e,0),n(e,")");else if(a.type==="symbol"&&a.value in ee){const l=ee[a.value],i=g(e,l);a.value==="--"||a.value==="++"?r={type:"UpdateExpression",operator:a.value,prefix:!0,argument:i}:r={type:"UnaryExpression",operator:a.value,prefix:!0,argument:i}}else throw new SyntaxError(`Unexpected token: "${a.value}"`);for(;e.length;)if(a=c(e),a.value in te){const l=te[a.value];if(l<t)break;if(n(e),a.value==="("){const i=[];for(;c(e)?.value!==")";)i.push(g(e,1)),c(e)?.value!==")"&&n(e,",");n(e,")"),r={type:"CallExpression",callee:r,arguments:i}}else if(a.value==="["){const i=c(e)?.value!=="]"?g(e,0):null;if(n(e,"]"),c(e)?.value==="("){n(e,"(");const x=[];for(;c(e)?.value!==")";)x.push(g(e,1)),c(e)?.value!==")"&&n(e,",");n(e,")"),r={type:"ArrayExpression",typeSpecifier:{type:"ArraySpecifier",typeSpecifier:r,dimensions:[i]},elements:x}}else r={type:"MemberExpression",object:r,property:i,computed:!0}}else if(a.value==="."){const i=g(e,l);r={type:"MemberExpression",object:r,property:i,computed:!1}}else a.value==="--"||a.value==="++"?r={type:"UpdateExpression",operator:a.value,prefix:!1,argument:r}:r={type:"UnaryExpression",operator:a.value,prefix:!1,argument:r}}else if(a.value in ae){const l=ae[a.value],i=l-1,x=l;if(i<t)break;if(n(e),a.value==="||"||a.value==="&&"||a.value==="^^"){const f=g(e,x);r={type:"LogicalExpression",operator:a.value,left:r,right:f}}else{const f=g(e,x);r={type:"BinaryExpression",operator:a.value,left:r,right:f}}}else if(a.value in re){const l=re[a.value],i=l,x=l-1;if(i<t)break;if(n(e),a.value==="?"){const f=g(e,0);n(e,":");const v=g(e,x);r={type:"ConditionalExpression",test:r,alternate:f,consequent:v}}else{const f=g(e,x);r={type:"AssignmentExpression",operator:a.value,left:r,right:f}}}else break;return r}function U(e){let t={type:"Identifier",name:n(e).value};if(c(e)?.value==="["){const a=[];for(;c(e)?.value==="[";)n(e,"["),c(e)?.value!=="]"?a.push(g(e)):a.push(null),n(e,"]");t={type:"ArraySpecifier",typeSpecifier:t,dimensions:a}}return t}function Ie(e,t,a,r){const l=U(e);let i=null;return c(e)?.value==="="&&(n(e,"="),i=g(e,1)),{type:"VariableDeclarator",id:l,qualifiers:a,typeSpecifier:t,layout:r,init:i}}function oe(e,t,a=[],r=null){const l=[];if(c(e)?.value!==";")for(;e.length&&(l.push(Ie(e,t,a,r)),c(e)?.value===",");)n(e,",");return n(e,";"),{type:"VariableDeclaration",declarations:l}}function Me(e,t,a=[],r=null){const l=L(e).body;let i=null;return c(e)?.value!==";"&&(i=g(e)),n(e,";"),{type:"StructuredBufferDeclaration",id:i,qualifiers:a,typeSpecifier:t,layout:r,members:l}}function Ae(e,t,a=[]){const r={type:"Identifier",name:n(e).value};n(e,"(");const l=[];for(;;){const x=c(e);if(!x||x.value===")")break;const f=[];for(;c(e)&&ne.test(c(e).value);)f.push(n(e).value);const v=U(e);let b=null;c(e)?.type!=="symbol"&&(b=U(e)),l.push({type:"FunctionParameter",id:b,qualifiers:f,typeSpecifier:v}),c(e)?.value===","&&n(e,",")}n(e,")");let i=null;return c(e)?.value===";"?n(e,";"):i=L(e),{type:"FunctionDeclaration",id:r,qualifiers:a,typeSpecifier:t,params:l,body:i}}function Be(e,t){const a=n(e).value;return n(e,";"),{type:"LayoutQualifierStatement",layout:t,qualifier:a}}function je(e){n(e,"invariant");const t=g(e);return n(e,";"),{type:"InvariantQualifierStatement",typeSpecifier:t}}function Pe(e){let t=null;if(c(e)?.value==="layout"){for(n(e,"layout"),n(e,"("),t={};c(e)&&c(e).value!==")";){const l=g(e,1);if(l.type==="AssignmentExpression"&&l.left.type==="Identifier"&&l.right.type==="Literal")t[l.left.name]=l.right.value;else if(l.type==="Identifier")t[l.name]=!0;else throw new TypeError("Unexpected expression");c(e)&&c(e).value!==")"&&n(e,",")}n(e,")")}if(t!==null&&c(e,1)?.value===";")return Be(e,t);if(t===null&&c(e)?.value==="invariant"&&(c(e,1)?.type==="identifier"||c(e,1)?.type==="keyword"&&c(e,2)?.value===";"))return je(e);const a=[];for(;c(e)&&ne.test(c(e).value);)a.push(n(e).value);const r=U(e);return c(e)?.value==="{"?Me(e,r,a,t):c(e,1)?.value==="("?Ae(e,r,a):oe(e,r,a,t)}function Ue(e){n(e,"struct");const t={type:"Identifier",name:n(e).value};n(e,"{");const a=[];for(;c(e)&&c(e).value!=="}";)a.push(...A(e));if(n(e,"}"),c(e)?.type==="identifier"){const r=t.name,l=n(e).value;e.push({type:"identifier",value:r},{type:"identifier",value:l},{type:"symbol",value:";"})}return n(e,";"),{type:"StructDeclaration",id:t,members:a}}function Le(e){return n(e,"continue"),n(e,";"),{type:"ContinueStatement"}}function qe(e){return n(e,"break"),n(e,";"),{type:"BreakStatement"}}function Re(e){return n(e,"discard"),n(e,";"),{type:"DiscardStatement"}}function Fe(e){n(e,"return");let t=null;return c(e)?.value!==";"&&(t=g(e)),n(e,";"),{type:"ReturnStatement",argument:t}}function se(e){n(e,"if"),n(e,"(");const t=g(e);n(e,")");const a=B(e);let r=null;const l=c(e);return l&&l.value==="else"&&(n(e,"else"),c(e)&&c(e).value==="if"?r=se(e):r=B(e)),{type:"IfStatement",test:t,consequent:a,alternate:r}}function Te(e){n(e,"while"),n(e,"(");const t=g(e);n(e,")");const a=B(e);return{type:"WhileStatement",test:t,body:a}}function Ve(e){n(e,"for"),n(e,"(");const t=g(e),a=oe(e,t),r=g(e);n(e,";");const l=g(e);n(e,")");const i=B(e);return{type:"ForStatement",init:a,test:r,update:l,body:i}}function Ge(e){n(e,"do");const t=B(e);n(e,"while"),n(e,"(");const a=g(e);return n(e,")"),n(e,";"),{type:"DoWhileStatement",test:a,body:t}}function Oe(e){n(e,"switch");const t=g(e),a=[];for(;e.length;){const r=n(e);if(r.value==="}")break;if(r.value==="case"){const l=g(e);n(e,":");const i=A(e);a.push({type:"SwitchCase",test:l,consequent:i})}else if(r.value==="default"){n(e,":");const l=A(e);a.push({type:"SwitchCase",test:null,consequent:l})}}return{type:"SwitchStatement",discriminant:t,cases:a}}function ze(e){n(e,"precision");const t=n(e).value,a={type:"Identifier",name:n(e).value};return n(e,";"),{type:"PrecisionQualifierStatement",precision:t,typeSpecifier:a}}function We(e){n(e,"#");let t="",a=null;if(c(e)?.value!=="\\"){if(t=n(e).value,t==="define"){let r={type:"Identifier",name:n(e).value};const l=c(e);if(l&&l.value==="("){n(e);const i=[];for(;c(e)?.value!==")";)i.push(g(e,1)),c(e)?.value!==")"&&n(e,",");n(e,")"),r={type:"CallExpression",callee:r,arguments:i}}c(e)?.value==="\\"?a=[r]:a=[r,g(e)]}else if(t==="extension"){const r=g(e);n(e,":");const l=g(e);a=[r,l]}else if(t==="include")n(e,"<"),a=[{type:"Identifier",name:n(e).value}],n(e,">");else if(t!=="else"&&t!=="endif")for(a=[];c(e)&&c(e).value!=="\\";)a.push(g(e))}return n(e,"\\"),{type:"PreprocessorStatement",name:t,value:a}}function Xe(e){let t=c(e,0);if(!t||t.type!=="identifier"&&t.type!=="keyword")return!1;if(t.value==="layout")return!0;let a=1,r=0;for(;t=c(e,a),!!t;){const l=ie(t);if(r<=0&&l<=0)break;r+=l,a++}return c(e,a)?.type!=="symbol"}function le(e){const t=c(e);let a=null;if(t.value==="#")a=We(e);else if(t.value==="struct")a=Ue(e);else if(t.value==="continue")a=Le(e);else if(t.value==="break")a=qe(e);else if(t.value==="discard")a=Re(e);else if(t.value==="return")a=Fe(e);else if(t.value==="if")a=se(e);else if(t.value==="while")a=Te(e);else if(t.value==="for")a=Ve(e);else if(t.value==="do")a=Ge(e);else if(t.value==="switch")a=Oe(e);else if(t.value==="precision")a=ze(e);else if(Xe(e))a=Pe(e);else if(t.value==="{")a=L(e);else{const r=g(e);c(e)?.value,n(e,";"),a={type:"ExpressionStatement",expression:r}}return a}function A(e){const t=[];let a=0;for(;;){const r=c(e);if(!r||(a+=ie(r),a<0||r.value==="}")||r.value==="case"||r.value==="default")break;t.push(le(e))}return t}function L(e){n(e,"{");const t=A(e);return n(e,"}"),{type:"BlockStatement",body:t}}function B(e){return c(e)?.value==="{"?L(e):le(e)}const Qe=/\\\s+/gm,Ne=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function ue(e){e=e.replace(Qe,""),e=e.replace(Ne,"$1\\$2");const t=V(e);return{type:"Program",body:A(t)}}function m(e,t,a=[]){const r=a,l=t[e.type];switch((l?.enter??l)?.(e,r),a=[...a,e],e.type){case"ArraySpecifier":m(e.typeSpecifier,t,a);for(const i of e.dimensions)i&&m(i,t,a);break;case"ExpressionStatement":m(e.expression,t,a);break;case"BlockStatement":for(const i of e.body)m(i,t,a);break;case"PreprocessorStatement":if(e.value)for(const i of e.value)m(i,t,a);break;case"PrecisionQualifierStatement":m(e.typeSpecifier,t,a);break;case"InvariantQualifierStatement":m(e.typeSpecifier,t,a);break;case"ReturnStatement":e.argument&&m(e.argument,t,a);break;case"IfStatement":m(e.test,t,a),m(e.consequent,t,a),e.alternate&&m(e.alternate,t,a);break;case"SwitchStatement":m(e.discriminant,t,a);for(const i of e.cases)m(i,t,a);break;case"SwitchCase":e.test&&m(e.test,t,a);for(const i of e.consequent)m(i,t,a);break;case"WhileStatement":case"DoWhileStatement":m(e.test,t,a),m(e.body,t,a);break;case"ForStatement":e.init&&m(e.init,t,a),e.test&&m(e.test,t,a),e.update&&m(e.update,t,a),m(e.body,t,a);break;case"FunctionDeclaration":m(e.typeSpecifier,t,a),m(e.id,t,a),e.body&&m(e.body,t,a);break;case"FunctionParameter":m(e.typeSpecifier,t,a),e.id&&m(e.id,t,a);break;case"VariableDeclaration":for(const i of e.declarations)m(i,t,a);break;case"VariableDeclarator":m(e.typeSpecifier,t,a),m(e.id,t,a),e.init&&m(e.init,t,a);break;case"StructuredBufferDeclaration":m(e.typeSpecifier,t,a);for(const i of e.members)m(i,t,a);e.id&&m(e.id,t,a);break;case"StructDeclaration":m(e.id,t,a);for(const i of e.members)m(i,t,a);break;case"ArrayExpression":m(e.typeSpecifier,t,a);for(const i of e.elements)m(i,t,a);break;case"UnaryExpression":case"UpdateExpression":m(e.argument,t,a);break;case"BinaryExpression":case"AssignmentExpression":case"LogicalExpression":m(e.left,t,a),m(e.right,t,a);break;case"MemberExpression":m(e.object,t,a),m(e.property,t,a);break;case"ConditionalExpression":m(e.test,t,a),m(e.consequent,t,a),m(e.alternate,t,a);break;case"CallExpression":m(e.callee,t,a);for(const i of e.arguments)m(i,t,a);break;case"Program":for(const i of e.body)m(i,t,a);break}l?.exit?.(e,r)}const ce=/*@__PURE__*/RegExp.prototype.test.bind(/^\w/),pe=/*@__PURE__*/RegExp.prototype.test.bind(/^[_A-Za-z]/),He=/*@__PURE__*/RegExp.prototype.test.bind(/[;{}\\@]/),C=/*@__PURE__*/RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/),Ye=/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/;function Ze(e,{mangle:t=!1,mangleMap:a=/*@__PURE__*/new Map,mangleExternals:r=!1}={}){const l=/*@__PURE__*/new Map,i=V(e).filter(d=>d.type!=="whitespace"&&d.type!=="comment");let x=-1,f=-1,v=-1,b="";for(let d=0;d<i.length;d++){const h=i[d];(C(h.value)||He(i[d-1]?.value))&&(f=d),h.value==="{"&&pe(i[d-1]?.value)?v=d-1:h.value==="}"&&(v=-1),ce(h.value)&&ce(i[d-1]?.value)&&(b+=" ");let _=h.value;if(i[d-1]?.value==="."&&(_=`${i[d-2]?.value}.`+_),h.type==="identifier"&&(typeof t=="boolean"?t:t(h,d,i))){const k=i[d-1]?.value==="}"&&i[d+1]?.value===";",S=C(i[f]?.value),I=S&&i[d-1]?.value===",";let D=a.get(_)??l.get(_);if(!D&&v===-1&&(pe(i[d-1]?.value)||k||I||i[d-1]?.type==="symbol"&&i[d+1]?.value===":")&&(r||!S)){const w=r&&S||i[d-2]?.value==="#"||k||I||i[d-1]?.value==="fn"&&(i[d-2]?.value===")"||i[d-3]?.value==="@")?a:l;for(;!D||w.has(D)||j.includes(D);){D="",x++;let E=x;for(;E>0;)D=String.fromCharCode(97+(E-1)%26)+D,E=Math.floor(E/26)}w.set(_,D)}b+=D??h.value}else h.value==="\\"?b+=`
7
- `:b+=h.value}return b.trim()}function Ke(e,{mangle:t=!1,mangleMap:a=/*@__PURE__*/new Map,mangleExternals:r=!1}={}){const l=Ye.test(e),i=l?j:q;if(l)return Ze(e,{mangle:t,mangleMap:a,mangleExternals:r});const x=ue(e);if(t){let f=function(){_.push({values:/*@__PURE__*/new Map,references:/*@__PURE__*/new Map})},v=function(){_.length-=1},b=function(o){for(let s=_.length-1;s>=0;s--){const p=_[s].references.get(o);if(p)return p}return null},d=function(o){if(S.length===0&&a.has(o))return a.get(o);if(S[0]!=null&&k.has(S[0])){const s=k.get(S[0]).values.get(o);if(s)return s}else for(let s=_.length-1;s>=0;s--){const p=_[s].values.get(o);if(p)return p}return null},h=function(o,s){let p=s&&a.get(o)||d(o);for(;!p||d(p)!==null||s&&a.has(p)||i.includes(p);){p="",I++;let y=I;for(;y>0;)p=String.fromCharCode(97+(y-1)%26)+p,y=Math.floor(y/26)}return _.at(-1).values.set(o,p),s&&(S[0]!=null?a.set(S[0]+"."+o,p):a.set(o,p)),p};const _=[],k=/*@__PURE__*/new Map,S=[];let I=-1;const D=/*@__PURE__*/new Set,w=/*@__PURE__*/new Set,E=/*@__PURE__*/new Set;for(const o of x.body)if(o.type==="StructDeclaration")D.add(o.id.name);else if(o.type==="StructuredBufferDeclaration"){const s=o.qualifiers.some(C);if(o.typeSpecifier.type==="Identifier"?(D.add(o.typeSpecifier.name),s&&E.add(o.typeSpecifier.name)):o.typeSpecifier.type==="ArraySpecifier"&&(D.add(o.typeSpecifier.typeSpecifier.name),s&&E.add(o.typeSpecifier.typeSpecifier.name)),s){if(o.id)w.add(o.id.name);else for(const p of o.members)if(p.type==="VariableDeclaration")for(const y of p.declarations)y.id.type==="Identifier"?w.add(y.id.name):y.id.type==="ArraySpecifier"&&w.add(y.id.typeSpecifier.name)}}else if(o.type==="VariableDeclaration")for(const s of o.declarations)s.qualifiers.some(C)&&(s.id.type==="Identifier"?w.add(s.id.name):s.id.type==="ArraySpecifier"&&w.add(s.id.typeSpecifier.name));m(x,{Program:{enter(){f()},exit(){v()}},BlockStatement:{enter(){f()},exit(){v()}},FunctionDeclaration:{enter(o){const s=o.id.name;s!=="main"&&(o.id.name=h(s,!1));const p=_.at(-1);o.typeSpecifier.type==="Identifier"?p.references.set(s,o.typeSpecifier.name):o.typeSpecifier.type==="ArraySpecifier"&&p.references.set(s,o.typeSpecifier.typeSpecifier.name),f();for(const y of o.params)y.id&&(y.id.name=h(y.id.name,!1))},exit(){v()}},StructDeclaration:{enter(o){const s=o.id.name,p=E.has(o.id.name);(!p||r)&&(o.id.name=h(s,p)),f(),k.set(s,_.at(-1)),S.push(s)},exit(){S.length-=1,v()}},StructuredBufferDeclaration:{enter(o){if(o.typeSpecifier.type!=="Identifier")return;const s=o.typeSpecifier.name;if((o.id||r)&&(o.typeSpecifier.name=h(s,!1)),!o.id)return;const p=o.id.name,y=E.has(s);(!y||r)&&(o.id.name=h(p,y)),_.at(-1).references.set(p,s),S.push(s),f(),k.set(p,_.at(-1))},exit(o){o.id&&(S.length-=1,v())}},VariableDeclaration(o,s){const p=s.at(-1),y=p?.type==="StructDeclaration"||p?.type==="StructuredBufferDeclaration"&&p.qualifiers.some(C);for(const $ of o.declarations){if($.type!=="VariableDeclarator")continue;let M="";$.id.type==="Identifier"?M=$.id.name:$.id.type==="ArraySpecifier"&&(M=$.id.typeSpecifier.name);const G=_.at(-1);$.typeSpecifier.type==="Identifier"?G.references.set(M,$.typeSpecifier.name):$.typeSpecifier.type==="ArraySpecifier"&&G.references.set(M,$.typeSpecifier.typeSpecifier.name);const O=y||$.qualifiers.some(C);(!O||r)&&h(M,O)}},PreprocessorStatement(o){if(o.name==="define"&&o.value){const[s,p]=o.value;let y=!1;p&&(p.type==="Identifier"?(y||=w.has(p.name)||E.has(p.name),(!y||r)&&(p.name=h(p.name,y))):p.type==="MemberExpression"||p.type==="CallExpression"&&p.callee.type==="Identifier"&&(y||=w.has(p.callee.name),(!y||r)&&(p.callee.name=h(p.callee.name,y)))),s.type==="Identifier"?(y||=w.has(s.name)||E.has(s.name),(!y||r)&&(s.name=h(s.name,y))):s.type==="MemberExpression"||s.type==="CallExpression"&&s.callee.type==="Identifier"&&(y||=w.has(s.callee.name),(!y||r)&&(s.callee.name=h(s.callee.name,y)))}},MemberExpression:{enter(o){let s="";if(o.object.type==="CallExpression"&&o.object.callee.type==="Identifier")s=b(o.object.callee.name);else if(o.object.type==="MemberExpression"&&o.object.object.type==="Identifier"){s=b(o.object.object.name);const p=d(o.object.object.name);p!==null&&(o.object.object.name=p)}else if(o.object.type==="Identifier"){s=b(o.object.name);const p=d(o.object.name);p!==null&&(o.object.name=p)}S.push(s)},exit(){S.length-=1}},Identifier(o){const s=d(o.name);s!==null&&(o.name=s)}})}return Q(x)}export{q as GLSL_KEYWORDS,W as GLSL_SYMBOLS,j as WGSL_KEYWORDS,X as WGSL_SYMBOLS,Q as generate,Ke as minify,ue as parse,V as tokenize,m as visit};
6
+ `).replaceAll("] ","]").trim()}const ge=/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/,H=/((\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?|\d+[eEpP][-+]?\d+)[fFhH]?/y,Y=/(0[xX][\w\d]+|\d+)[iIuU]?/y,ve=/^(true|false)$/,he=48,be=57,_e=65,Se=90,Z=10,we=13,De=9,Ee=32,$e=95,ke=46,U=47,K=42,Ce=35,Me=64,T=e=>he<=e&&e<=be,Ie=e=>(e&=-33,_e<=e&&e<=Se),Ae=e=>e===Z||e===we,J=e=>Ae(e)||e===De||e===Ee,ee=e=>Ie(e)||T(e)||e===$e,Be=e=>e===Ce||e===Me;function V(e,t,r){return e.lastIndex=r,e.exec(t)?.[0]}function G(e,t=0){const[r,a]=ge.test(e)?[P,Q]:[R,X],o=new Set(r),n=new RegExp(a.sort((x,h)=>h.length-x.length).map(x=>x.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")).join("|"),"y"),d=[];let f,y,b;for(;t<e.length;)if(y=t,b=e.charCodeAt(t++),J(b)){for(;J(e.charCodeAt(t));)t++;f=e.slice(y,t),d.push({type:"whitespace",value:f})}else if(T(b)||b===ke&&T(e.charCodeAt(t)))(f=V(H,e,y))?(t=H.lastIndex,d.push({type:"float",value:f})):(f=V(Y,e,y))&&(t=Y.lastIndex,d.push({type:"int",value:f}));else if(ee(b)){for(;ee(e.charCodeAt(t));)t++;f=e.slice(y,t),ve.test(f)?d.push({type:"bool",value:f}):o.has(Be(e.charCodeAt(y-1))?e[y-1]+f:f)?d.push({type:"keyword",value:f}):d.push({type:"identifier",value:f})}else if(b===U&&e.charCodeAt(t)===U){for(;t<e.length&&e.charCodeAt(t)!==Z;)t++;f=e.slice(y,t),t++,d.push({type:"comment",value:f})}else if(b===U&&e.charCodeAt(t)===K){for(;t<e.length&&(e.charCodeAt(t-2)!==K||e.charCodeAt(t-1)!==U);)t++;f=e.slice(y,t),d.push({type:"comment",value:f})}else(f=V(n,e,y))&&(t+=f.length-1,d.push({type:"symbol",value:f}));return d}const je={if:1,ifdef:1,ifndef:1},Pe={endif:-1};function Ue(e){const t=[];let r=0,a=0;const o=[];for(;r<e.length&&e[r].value!=="#";)o.push(e[r++]);for(o.length>0&&t.push({suffix:te(o),scope:a});r<e.length;){const n=[];for(;r<e.length&&e[r].value!=="\\";)n.push(e[r++]);n.push(e[r++]);const d=[];for(;r<e.length&&e[r].value!=="#";)d.push(e[r++]);const f=n[1]?.value??"";a+=je[f]||0,t.push({directive:n,suffix:te(d),scope:a}),a+=Pe[f]||0}return t}function Le(e){return e.directive?.[1]?.value??""}function te(e){let t=0,r=e.length-1;if(r===0&&e[0].type==="whitespace")return[];for(;t<r&&e[t].type==="whitespace";)t++;for(;r>t&&e[r].type==="whitespace";)r--;return e.slice(t,r+1)}function re(e,t=0,r=void 0){let a={cases:r?.cases??[],prefix:r?.prefix??[]},o,n=e.length-1;for(let d=e.length-1;d>=0;d--){const f=e[d];if(f.scope===t){a.prefix=[...f.suffix,...a.prefix];continue}if(f.scope>t+1)continue;const y=Le(f);if(y==="")a&&(a.prefix=[...f.suffix,...a.prefix]);else if(y==="endif")a.prefix=[...f.suffix,...a.prefix],n=d,o={cases:[],prefix:[]};else if(y==="else"||y==="elif"||y==="if"||y==="ifdef"||y==="ifndef"){const b=re(e.slice(d,n),t+1,a);n=d,o?.cases.unshift({cond:f.directive??[],node:b})}(y==="if"||y==="ifdef"||y==="ifndef")&&(a=o)}return a}function ae(e,t){return e.cases.length===0?[...t,...e.prefix]:[...e.cases.flatMap(r=>[...r.cond,{type:"whitespace",value:`
7
+ `},...ae(r.node,[...t,...e.prefix]),{type:"whitespace",value:`
8
+ `}]),{type:"symbol",value:"#"},{type:"keyword",value:"endif"},{type:"symbol",value:"\\"},{type:"whitespace",value:`
9
+ `}]}function qe(e){const t=re(Ue(e));return ae(t,[])}const ne={"~":14,"!":14,"--":14,"++":14,"-":14,"+":14},ie={"--":15,"++":15,"(":16,"[":17,".":17},oe={",":1,"||":3,"^^":4,"&&":5,"|":6,"^":7,"&":8,"==":10,">":10,">=":10,"<":10,"<=":10,"!=":10,"<<":11,">>":11,"+":12,"-":12,"*":13,"/":13,"%":13},se={"=":2,"+=":2,"&=":2,"|=":2,"^=":2,"/=":2,"*=":2,"%=":2,"<<=":2,">>=":2,"-=":2,"?":9},le=/^(const|buffer|uniform|in|out|inout|centroid|flat|smooth|invariant|lowp|mediump|highp|coherent|volatile|restrict|readonly|writeonly|attribute|varying)$/,Re={"(":1,"[":1,"{":1,")":-1,"]":-1,"}":-1};function ue(e){return Re[e.value]??0}function C(e){return e.cursor<e.list.length}function ce(e,t=!0){let r=0;for(;C(e);e.cursor++){const a=e.list[e.cursor];if(t&&a.value==="#"){e.encounteredMacro=!0;let o="";const n=e.list[++e.cursor];if(n.value!=="\\"&&(o=n.value),o==="if"||o==="ifdef"||o==="ifndef")r++;else if(o==="endif")r--,e.cursor++;else{for(;C(e)&&e.list[e.cursor].value!=="\\";)e.cursor++;e.cursor++}continue}if(!(r>0)&&!(a.type==="whitespace"||a.type==="comment"))return}}function c(e,t=0,r=!0){const a=e.cursor;for(;C(e);)if(ce(e,r),t===0){const o=e.list[e.cursor];return e.cursor=a,o}else t--,e.cursor++;return e.cursor=a,null}function i(e,t,r=!0){ce(e,r);const a=e.list[e.cursor++];if(a===void 0&&t!==void 0)throw new SyntaxError(`Expected "${t}"`);if(a===void 0)throw new SyntaxError("Unexpected end of input");if(t!==void 0&&a.value!==t)throw new SyntaxError(`Expected "${t}" got "${a.value}"`);return a}function v(e,t=0){let r=i(e),a;if(r.type==="identifier"||r.type==="keyword")a={type:"Identifier",name:r.value};else if(r.type==="bool"||r.type==="float"||r.type==="int")a={type:"Literal",value:r.value};else if(r.type==="symbol"&&r.value==="(")a=v(e,0),i(e,")");else if(r.type==="symbol"&&r.value in ne){const o=ne[r.value],n=v(e,o);r.value==="--"||r.value==="++"?a={type:"UpdateExpression",operator:r.value,prefix:!0,argument:n}:a={type:"UnaryExpression",operator:r.value,prefix:!0,argument:n}}else throw new SyntaxError(`Unexpected token: "${r.value}"`);for(;C(e);)if(r=c(e),r.value in ie){const o=ie[r.value];if(o<t)break;if(i(e),r.value==="("){const n=[];for(;c(e)?.value!==")";)n.push(v(e,1)),c(e)?.value!==")"&&i(e,",");i(e,")"),a={type:"CallExpression",callee:a,arguments:n}}else if(r.value==="["){const n=c(e)?.value!=="]"?v(e,0):null;if(i(e,"]"),c(e)?.value==="("){i(e,"(");const d=[];for(;c(e)?.value!==")";)d.push(v(e,1)),c(e)?.value!==")"&&i(e,",");i(e,")"),a={type:"ArrayExpression",typeSpecifier:{type:"ArraySpecifier",typeSpecifier:a,dimensions:[n]},elements:d}}else a={type:"MemberExpression",object:a,property:n,computed:!0}}else if(r.value==="."){const n=v(e,o);a={type:"MemberExpression",object:a,property:n,computed:!1}}else r.value==="--"||r.value==="++"?a={type:"UpdateExpression",operator:r.value,prefix:!1,argument:a}:a={type:"UnaryExpression",operator:r.value,prefix:!1,argument:a}}else if(r.value in oe){const o=oe[r.value],n=o-1,d=o;if(n<t)break;if(i(e),r.value==="||"||r.value==="&&"||r.value==="^^"){const f=v(e,d);a={type:"LogicalExpression",operator:r.value,left:a,right:f}}else{const f=v(e,d);a={type:"BinaryExpression",operator:r.value,left:a,right:f}}}else if(r.value in se){const o=se[r.value],n=o,d=o-1;if(n<t)break;if(i(e),r.value==="?"){const f=v(e,0);i(e,":");const y=v(e,d);a={type:"ConditionalExpression",test:a,alternate:f,consequent:y}}else{const f=v(e,d);a={type:"AssignmentExpression",operator:r.value,left:a,right:f}}}else break;return a}function L(e){let t={type:"Identifier",name:i(e).value};if(c(e)?.value==="["){const r=[];for(;c(e)?.value==="[";)i(e,"["),c(e)?.value!=="]"?r.push(v(e)):r.push(null),i(e,"]");t={type:"ArraySpecifier",typeSpecifier:t,dimensions:r}}return t}function Fe(e,t,r,a){const o=L(e);let n=null;return c(e)?.value==="="&&(i(e,"="),n=v(e,1)),{type:"VariableDeclarator",id:o,qualifiers:r,typeSpecifier:t,layout:a,init:n}}function pe(e,t,r=[],a=null){const o=[];if(c(e)?.value!==";")for(;C(e)&&(o.push(Fe(e,t,r,a)),c(e)?.value===",");)i(e,",");return i(e,";"),{type:"VariableDeclaration",declarations:o}}function Te(e,t,r=[],a=null){const o=q(e).body;let n=null;return c(e)?.value!==";"&&(n=v(e)),i(e,";"),{type:"StructuredBufferDeclaration",id:n,qualifiers:r,typeSpecifier:t,layout:a,members:o}}function Ve(e,t,r=[]){const a={type:"Identifier",name:i(e).value};i(e,"(");const o=[];for(;;){const d=c(e);if(!d||d.value===")")break;const f=[];for(;c(e)&&le.test(c(e).value);)f.push(i(e).value);const y=L(e);let b=null;c(e)?.type!=="symbol"&&(b=L(e)),o.push({type:"FunctionParameter",id:b,qualifiers:f,typeSpecifier:y}),c(e)?.value===","&&i(e,",")}i(e,")");let n=null;return c(e)?.value===";"?i(e,";"):n=q(e),{type:"FunctionDeclaration",id:a,qualifiers:r,typeSpecifier:t,params:o,body:n}}function Ge(e,t){const r=i(e).value;return i(e,";"),{type:"LayoutQualifierStatement",layout:t,qualifier:r}}function Oe(e){i(e,"invariant");const t=v(e);return i(e,";"),{type:"InvariantQualifierStatement",typeSpecifier:t}}function ze(e){let t=null;if(c(e)?.value==="layout"){for(i(e,"layout"),i(e,"("),t={};c(e)&&c(e).value!==")";){const o=v(e,1);if(o.type==="AssignmentExpression"&&o.left.type==="Identifier"&&o.right.type==="Literal")t[o.left.name]=o.right.value;else if(o.type==="Identifier")t[o.name]=!0;else throw new TypeError("Unexpected expression");c(e)&&c(e).value!==")"&&i(e,",")}i(e,")")}if(t!==null&&c(e,1)?.value===";")return Ge(e,t);if(t===null&&c(e)?.value==="invariant"&&(c(e,1)?.type==="identifier"||c(e,1)?.type==="keyword"&&c(e,2)?.value===";"))return Oe(e);const r=[];for(;c(e)&&le.test(c(e).value);)r.push(i(e).value);const a=L(e);return c(e)?.value==="{"?Te(e,a,r,t):c(e,1)?.value==="("?Ve(e,a,r):pe(e,a,r,t)}function We(e){i(e,"struct");const t={type:"Identifier",name:i(e).value};i(e,"{");const r=[];for(;c(e,0,!1)&&c(e,0,!1).value!=="}";)r.push(...M(e));if(i(e,"}"),c(e)?.type==="identifier"){const a=t.name,o=i(e).value;e.list.push({type:"identifier",value:a},{type:"identifier",value:o},{type:"symbol",value:";"})}return i(e,";"),{type:"StructDeclaration",id:t,members:r}}function Xe(e){return i(e,"continue"),i(e,";"),{type:"ContinueStatement"}}function Qe(e){return i(e,"break"),i(e,";"),{type:"BreakStatement"}}function Ne(e){return i(e,"discard"),i(e,";"),{type:"DiscardStatement"}}function He(e){i(e,"return");let t=null;return c(e)?.value!==";"&&(t=v(e)),i(e,";"),{type:"ReturnStatement",argument:t}}function fe(e){i(e,"if"),i(e,"(");const t=v(e);i(e,")");const r=j(e);let a=null;const o=c(e);return o&&o.value==="else"&&(i(e,"else"),c(e)&&c(e).value==="if"?a=fe(e):a=j(e)),{type:"IfStatement",test:t,consequent:r,alternate:a}}function Ye(e){i(e,"while"),i(e,"(");const t=v(e);i(e,")");const r=j(e);return{type:"WhileStatement",test:t,body:r}}function Ze(e){i(e,"for"),i(e,"(");const t=v(e),r=pe(e,t),a=v(e);i(e,";");const o=v(e);i(e,")");const n=j(e);return{type:"ForStatement",init:r,test:a,update:o,body:n}}function Ke(e){i(e,"do");const t=j(e);i(e,"while"),i(e,"(");const r=v(e);return i(e,")"),i(e,";"),{type:"DoWhileStatement",test:r,body:t}}function Je(e){i(e,"switch");const t=v(e),r=[];for(;C(e);){const a=i(e);if(a.value==="}")break;if(a.value==="case"){const o=v(e);i(e,":");const n=M(e);r.push({type:"SwitchCase",test:o,consequent:n})}else if(a.value==="default"){i(e,":");const o=M(e);r.push({type:"SwitchCase",test:null,consequent:o})}}return{type:"SwitchStatement",discriminant:t,cases:r}}function et(e){i(e,"precision");const t=i(e).value,r={type:"Identifier",name:i(e).value};return i(e,";"),{type:"PrecisionQualifierStatement",precision:t,typeSpecifier:r}}function tt(e){i(e,"#",!1);let t="",r=null;if(c(e)?.value!=="\\"){if(t=i(e).value,t==="define"){let a={type:"Identifier",name:i(e).value};const o=c(e);if(o&&o.value==="("){i(e);const n=[];for(;c(e)?.value!==")";)n.push(v(e,1)),c(e)?.value!==")"&&i(e,",");i(e,")"),a={type:"CallExpression",callee:a,arguments:n}}c(e)?.value==="\\"?r=[a]:r=[a,v(e)]}else if(t==="extension"){const a=v(e);i(e,":");const o=v(e);r=[a,o]}else if(t==="include")i(e,"<"),r=[{type:"Identifier",name:i(e).value}],i(e,">");else if(t!=="else"&&t!=="endif")for(r=[];c(e)&&c(e).value!=="\\";)r.push(v(e))}return i(e,"\\"),{type:"PreprocessorStatement",name:t,value:r}}function rt(e){let t=c(e,0);if(!t||t.type!=="identifier"&&t.type!=="keyword")return!1;if(t.value==="layout")return!0;let r=1,a=0;for(;t=c(e,r),!!t;){const o=ue(t);if(a<=0&&o<=0)break;a+=o,r++}return c(e,r)?.type!=="symbol"}function me(e){const t=c(e,0,!1);let r=null;if(t.value==="#")r=tt(e);else if(t.value==="struct")r=We(e);else if(t.value==="continue")r=Xe(e);else if(t.value==="break")r=Qe(e);else if(t.value==="discard")r=Ne(e);else if(t.value==="return")r=He(e);else if(t.value==="if")r=fe(e);else if(t.value==="while")r=Ye(e);else if(t.value==="for")r=Ze(e);else if(t.value==="do")r=Ke(e);else if(t.value==="switch")r=Je(e);else if(t.value==="precision")r=et(e);else if(rt(e))r=ze(e);else if(t.value==="{")r=q(e);else{const a=v(e);c(e)?.value,i(e,";"),r={type:"ExpressionStatement",expression:a}}return r}function M(e){const t=[];let r=0;for(;;){const a=c(e,0,!1);if(!a||(r+=ue(a),r<0||a.value==="}")||a.value==="case"||a.value==="default")break;e.encounteredMacro=!1;const o=e.cursor,n=me(e);if(e.encounteredMacro){const d=qe(e.list.slice(o,e.cursor));t.push(...M({list:d,cursor:0}))}else t.push(n)}return t}function q(e){i(e,"{");const t=M(e);return i(e,"}"),{type:"BlockStatement",body:t}}function j(e){return c(e)?.value==="{"?q(e):me(e)}const at=/\\\s+/gm,nt=/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm;function de(e){e=e.replace(at,""),e=e.replace(nt,"$1\\$2");const t={list:G(e),cursor:0};return{type:"Program",body:M(t)}}function m(e,t,r=[]){const a=r,o=t[e.type];switch((o?.enter??o)?.(e,a),r=[...r,e],e.type){case"ArraySpecifier":m(e.typeSpecifier,t,r);for(const n of e.dimensions)n&&m(n,t,r);break;case"ExpressionStatement":m(e.expression,t,r);break;case"BlockStatement":for(const n of e.body)m(n,t,r);break;case"PreprocessorStatement":if(e.value)for(const n of e.value)m(n,t,r);break;case"PrecisionQualifierStatement":m(e.typeSpecifier,t,r);break;case"InvariantQualifierStatement":m(e.typeSpecifier,t,r);break;case"ReturnStatement":e.argument&&m(e.argument,t,r);break;case"IfStatement":m(e.test,t,r),m(e.consequent,t,r),e.alternate&&m(e.alternate,t,r);break;case"SwitchStatement":m(e.discriminant,t,r);for(const n of e.cases)m(n,t,r);break;case"SwitchCase":e.test&&m(e.test,t,r);for(const n of e.consequent)m(n,t,r);break;case"WhileStatement":case"DoWhileStatement":m(e.test,t,r),m(e.body,t,r);break;case"ForStatement":e.init&&m(e.init,t,r),e.test&&m(e.test,t,r),e.update&&m(e.update,t,r),m(e.body,t,r);break;case"FunctionDeclaration":m(e.typeSpecifier,t,r),m(e.id,t,r),e.body&&m(e.body,t,r);break;case"FunctionParameter":m(e.typeSpecifier,t,r),e.id&&m(e.id,t,r);break;case"VariableDeclaration":for(const n of e.declarations)m(n,t,r);break;case"VariableDeclarator":m(e.typeSpecifier,t,r),m(e.id,t,r),e.init&&m(e.init,t,r);break;case"StructuredBufferDeclaration":m(e.typeSpecifier,t,r);for(const n of e.members)m(n,t,r);e.id&&m(e.id,t,r);break;case"StructDeclaration":m(e.id,t,r);for(const n of e.members)m(n,t,r);break;case"ArrayExpression":m(e.typeSpecifier,t,r);for(const n of e.elements)m(n,t,r);break;case"UnaryExpression":case"UpdateExpression":m(e.argument,t,r);break;case"BinaryExpression":case"AssignmentExpression":case"LogicalExpression":m(e.left,t,r),m(e.right,t,r);break;case"MemberExpression":m(e.object,t,r),m(e.property,t,r);break;case"ConditionalExpression":m(e.test,t,r),m(e.consequent,t,r),m(e.alternate,t,r);break;case"CallExpression":m(e.callee,t,r);for(const n of e.arguments)m(n,t,r);break;case"Program":for(const n of e.body)m(n,t,r);break}o?.exit?.(e,a)}const ye=/*@__PURE__*/RegExp.prototype.test.bind(/^\w/),xe=/*@__PURE__*/RegExp.prototype.test.bind(/^[_A-Za-z]/),it=/*@__PURE__*/RegExp.prototype.test.bind(/[;{}\\@]/),I=/*@__PURE__*/RegExp.prototype.test.bind(/^(binding|group|layout|uniform|in|out|attribute|varying)$/),ot=/\bfn\s+\w+\s*\(|\b(var|let|const)\s+\w+\s*[:=]/;function st(e,{mangle:t=!1,mangleMap:r=/*@__PURE__*/new Map,mangleExternals:a=!1}={}){const o=/*@__PURE__*/new Map,n=G(e).filter(x=>x.type!=="whitespace"&&x.type!=="comment");let d=-1,f=-1,y=-1,b="";for(let x=0;x<n.length;x++){const h=n[x];(I(h.value)||it(n[x-1]?.value))&&(f=x),h.value==="{"&&xe(n[x-1]?.value)?y=x-1:h.value==="}"&&(y=-1),ye(h.value)&&ye(n[x-1]?.value)&&(b+=" ");let _=h.value;if(n[x-1]?.value==="."&&(_=`${n[x-2]?.value}.`+_),h.type==="identifier"&&(typeof t=="boolean"?t:t(h,x,n))){const k=n[x-1]?.value==="}"&&n[x+1]?.value===";",S=I(n[f]?.value),A=S&&n[x-1]?.value===",";let w=r.get(_)??o.get(_);if(!w&&y===-1&&(xe(n[x-1]?.value)||k||A||n[x-1]?.type==="symbol"&&n[x+1]?.value===":")&&(a||!S)){const D=a&&S||n[x-2]?.value==="#"||k||A||n[x-1]?.value==="fn"&&(n[x-2]?.value===")"||n[x-3]?.value==="@")?r:o;for(;!w||D.has(w)||P.includes(w);){w="",d++;let E=d;for(;E>0;)w=String.fromCharCode(97+(E-1)%26)+w,E=Math.floor(E/26)}D.set(_,w)}b+=w??h.value}else h.value==="\\"?b+=`
10
+ `:b+=h.value}return b.trim()}function lt(e,{mangle:t=!1,mangleMap:r=/*@__PURE__*/new Map,mangleExternals:a=!1}={}){const o=ot.test(e),n=o?P:R;if(o)return st(e,{mangle:t,mangleMap:r,mangleExternals:a});const d=de(e);if(t){let f=function(){_.push({values:/*@__PURE__*/new Map,references:/*@__PURE__*/new Map})},y=function(){_.length-=1},b=function(s){for(let l=_.length-1;l>=0;l--){const p=_[l].references.get(s);if(p)return p}return null},x=function(s){if(S.length===0&&r.has(s))return r.get(s);if(S[0]!=null&&k.has(S[0])){const l=k.get(S[0]).values.get(s);if(l)return l}else for(let l=_.length-1;l>=0;l--){const p=_[l].values.get(s);if(p)return p}return null},h=function(s,l){let p=l&&r.get(s)||x(s);for(;!p||x(p)!==null||l&&r.has(p)||n.includes(p);){p="",A++;let g=A;for(;g>0;)p=String.fromCharCode(97+(g-1)%26)+p,g=Math.floor(g/26)}return _.at(-1).values.set(s,p),l&&(S[0]!=null?r.set(S[0]+"."+s,p):r.set(s,p)),p};const _=[],k=/*@__PURE__*/new Map,S=[];let A=-1;const w=/*@__PURE__*/new Set,D=/*@__PURE__*/new Set,E=/*@__PURE__*/new Set;for(const s of d.body)if(s.type==="StructDeclaration")w.add(s.id.name);else if(s.type==="StructuredBufferDeclaration"){const l=s.qualifiers.some(I);if(s.typeSpecifier.type==="Identifier"?(w.add(s.typeSpecifier.name),l&&E.add(s.typeSpecifier.name)):s.typeSpecifier.type==="ArraySpecifier"&&(w.add(s.typeSpecifier.typeSpecifier.name),l&&E.add(s.typeSpecifier.typeSpecifier.name)),l){if(s.id)D.add(s.id.name);else for(const p of s.members)if(p.type==="VariableDeclaration")for(const g of p.declarations)g.id.type==="Identifier"?D.add(g.id.name):g.id.type==="ArraySpecifier"&&D.add(g.id.typeSpecifier.name)}}else if(s.type==="VariableDeclaration")for(const l of s.declarations)l.qualifiers.some(I)&&(l.id.type==="Identifier"?D.add(l.id.name):l.id.type==="ArraySpecifier"&&D.add(l.id.typeSpecifier.name));m(d,{Program:{enter(){f()},exit(){y()}},BlockStatement:{enter(){f()},exit(){y()}},FunctionDeclaration:{enter(s){const l=s.id.name;l!=="main"&&(s.id.name=h(l,!1));const p=_.at(-1);s.typeSpecifier.type==="Identifier"?p.references.set(l,s.typeSpecifier.name):s.typeSpecifier.type==="ArraySpecifier"&&p.references.set(l,s.typeSpecifier.typeSpecifier.name),f();for(const g of s.params)g.id&&(g.id.name=h(g.id.name,!1))},exit(){y()}},StructDeclaration:{enter(s){const l=s.id.name,p=E.has(s.id.name);(!p||a)&&(s.id.name=h(l,p)),f(),k.set(l,_.at(-1)),S.push(l)},exit(){S.length-=1,y()}},StructuredBufferDeclaration:{enter(s){if(s.typeSpecifier.type!=="Identifier")return;const l=s.typeSpecifier.name;if((s.id||a)&&(s.typeSpecifier.name=h(l,!1)),!s.id)return;const p=s.id.name,g=E.has(l);(!g||a)&&(s.id.name=h(p,g)),_.at(-1).references.set(p,l),S.push(l),f(),k.set(p,_.at(-1))},exit(s){s.id&&(S.length-=1,y())}},VariableDeclaration(s,l){const p=l.at(-1),g=p?.type==="StructDeclaration"||p?.type==="StructuredBufferDeclaration"&&p.qualifiers.some(I);for(const $ of s.declarations){if($.type!=="VariableDeclarator")continue;let B="";$.id.type==="Identifier"?B=$.id.name:$.id.type==="ArraySpecifier"&&(B=$.id.typeSpecifier.name);const O=_.at(-1);$.typeSpecifier.type==="Identifier"?O.references.set(B,$.typeSpecifier.name):$.typeSpecifier.type==="ArraySpecifier"&&O.references.set(B,$.typeSpecifier.typeSpecifier.name);const z=g||$.qualifiers.some(I);(!z||a)&&h(B,z)}},PreprocessorStatement(s){if(s.name==="define"&&s.value){const[l,p]=s.value;let g=!1;p&&(p.type==="Identifier"?(g||=D.has(p.name)||E.has(p.name),(!g||a)&&(p.name=h(p.name,g))):p.type==="MemberExpression"||p.type==="CallExpression"&&p.callee.type==="Identifier"&&(g||=D.has(p.callee.name),(!g||a)&&(p.callee.name=h(p.callee.name,g)))),l.type==="Identifier"?(g||=D.has(l.name)||E.has(l.name),(!g||a)&&(l.name=h(l.name,g))):l.type==="MemberExpression"||l.type==="CallExpression"&&l.callee.type==="Identifier"&&(g||=D.has(l.callee.name),(!g||a)&&(l.callee.name=h(l.callee.name,g)))}},MemberExpression:{enter(s){let l="";if(s.object.type==="CallExpression"&&s.object.callee.type==="Identifier")l=b(s.object.callee.name);else if(s.object.type==="MemberExpression"&&s.object.object.type==="Identifier"){l=b(s.object.object.name);const p=x(s.object.object.name);p!==null&&(s.object.object.name=p)}else if(s.object.type==="Identifier"){l=b(s.object.name);const p=x(s.object.name);p!==null&&(s.object.name=p)}S.push(l)},exit(){S.length-=1}},Identifier(s){const l=x(s.name);l!==null&&(s.name=l)}})}return N(d)}export{R as GLSL_KEYWORDS,X as GLSL_SYMBOLS,P as WGSL_KEYWORDS,Q as WGSL_SYMBOLS,N as generate,lt as minify,de as parse,G as tokenize,m as visit};
8
11
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/generator.ts","../src/tokenizer.ts","../src/parser.ts","../src/visitor.ts","../src/minifier.ts"],"sourcesContent":null,"names":["WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","formatLayout","layout","k","v","format","node","d","value","alternate","qualifiers","body","id","head","init","scope","generate","program","options","WGSL_REGEX","FLOAT_REGEX","INT_REGEX","BOOL_REGEX","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","DOT","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","matchAsPrefix","regex","string","start","tokenize","code","index","KEYWORDS","KEYWORDS_LIST","SYMBOLS_REGEX","a","b","s","tokens","char","PREFIX_OPERATOR_PRECEDENCE","POSTFIX_OPERATOR_PRECEDENCE","INFIX_OPERATOR_PRECEDENCE_LEFT","INFIX_OPERATOR_PRECEDENCE_RIGHT","QUALIFIER_REGEX","SCOPE_DELTAS","getScopeDelta","token","peek","offset","i","consume","expected","parseExpression","minBindingPower","lhs","rightBindingPower","rhs","leftBindingPower","args","elements","precedence","mhs","parseTypeSpecifier","typeSpecifier","dimensions","parseVariableDeclarator","parseVariable","declarations","parseBufferInterface","members","parseBlock","parseFunction","params","parseLayoutQualifier","qualifier","parseInvariant","parseIndeterminate","expression","parseStruct","parseStatements","type","name","parseContinue","parseBreak","parseDiscard","parseReturn","argument","parseIf","test","consequent","parseBlockOrStatement","elseToken","parseWhile","parseFor","update","parseDoWhile","parseSwitch","discriminant","cases","parsePrecision","precision","parsePreprocessor","left","next","right","isVariable","scopeIndex","delta","parseStatement","statement","NEWLINE_REGEX","DIRECTIVE_REGEX","parse","visit","visitors","ancestors","parentAncestors","visitor","dimension","kase","declaration","member","element","isWord","J","isName","minifyLegacy","mangle","mangleMap","mangleExternals","mangleCache","l","y","mangleIndex","lineIndex","blockIndex","minified","isStorage","isScoped","prefix","namespace","storage","list","renamed","cache","j","minify","isWGSL","pushScope","scopes","popScope","getScopedType","getScopedName","types","typeScopes","mangleName","isExternal","_","structs","D","externals","C","externalTypes","decl","param","typeName","parent","isParentExternal"],"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,SAEA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SAEA,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,OAGA,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,WAKA,eACA,kBACA,YACA,cACA,gBACA,kBACA,sBACA,oBACA,mBACA,uBACA,qBAGA,YAIA,gBACA,oBAMA,SACA,SAGA,sBAGA,mBACA,mBACA,iBACA,uBACA,wBACA,0BAGA,mBACA,4BACA,8BACA,6BACA,8BACA,sCACA,8BACA,6BACA,iCACA,iCACA,8BACA,oCACA,6BACA,+BACA,+BACA,8BACA,qCACA,mCACA,qCACA,gCAGA,YACA,eACA,eACA,iBACA,iBAGA,kBACA,iBACA,kBACA,WACA,UACA,UACA,YACA,aACA,eACA,eAGA,yBACA,yBACA,gBAGA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,iBAGA,YACA,aAGA,UAGA,gBACA,6BACA,sBACA,qBACA,sBACA,oBACF,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,EC1+BA,SAASG,EAAaC,EAAyD,CAC7E,OAAKA,EAEE,UAAU,OAAO,QAAQA,CAAM,EACnC,IAAI,CAAC,CAACC,EAAGC,CAAC,IAAOA,IAAM,GAAOD,EAAI,GAAGA,CAAC,IAAIC,CAAC,EAAG,EAC9C,KAAK,GAAG,CAAC,IAJQ,EAKtB,CAGA,SAASC,EAAOC,EAA0B,CACxC,GAAI,CAACA,EAAM,MAAO,GAElB,OAAQA,EAAK,KAAA,CACX,IAAK,aACH,OAAOA,EAAK,KACd,IAAK,UACH,OAAOA,E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"}
1
+ {"version":3,"file":"index.js","sources":["../src/constants.ts","../src/generator.ts","../src/tokenizer.ts","../src/hoister.ts","../src/parser.ts","../src/visitor.ts","../src/minifier.ts"],"sourcesContent":null,"names":["WGSL_KEYWORDS","GLSL_KEYWORDS","SYMBOLS","GLSL_SYMBOLS","WGSL_SYMBOLS","formatLayout","layout","k","v","format","node","d","value","alternate","qualifiers","body","id","head","init","scope","generate","program","options","WGSL_REGEX","FLOAT_REGEX","INT_REGEX","BOOL_REGEX","ZERO","NINE","A","Z","LF","CR","TAB","SPACE","UNDERSCORE","DOT","SLASH","STAR","HASH","AT","isDigit","c","isAlpha","isLine","isSpace","isIdent","isMacro","matchAsPrefix","regex","string","start","tokenize","code","index","KEYWORDS","KEYWORDS_LIST","SYMBOLS_REGEX","a","b","s","tokens","char","preScopeDelta","postScopeDelta","segmentDirectives","segments","cursor","prefix","trimWhitespace","directive","suffix","name","getDirectiveName","segment","end","constructHoistTree","remainder","leafNode","currentNode","caseEnd","seg","caseNode","flattenHoistNode","case_","hoistPreprocessorDirectives","tree","PREFIX_OPERATOR_PRECEDENCE","POSTFIX_OPERATOR_PRECEDENCE","INFIX_OPERATOR_PRECEDENCE_LEFT","INFIX_OPERATOR_PRECEDENCE_RIGHT","QUALIFIER_REGEX","SCOPE_DELTAS","getScopeDelta","token","hasNextToken","skipIrrelevant","ignorePreprocessor","preprocessorScope","nameToken","peek","offset","prevCursor","consume","expected","parseExpression","minBindingPower","lhs","rightBindingPower","rhs","leftBindingPower","args","elements","precedence","mhs","parseTypeSpecifier","typeSpecifier","dimensions","parseVariableDeclarator","parseVariable","declarations","parseBufferInterface","members","parseBlock","parseFunction","params","parseLayoutQualifier","qualifier","parseInvariant","parseIndeterminate","expression","parseStruct","parseStatements","type","parseContinue","parseBreak","parseDiscard","parseReturn","argument","parseIf","test","consequent","parseBlockOrStatement","elseToken","parseWhile","parseFor","update","parseDoWhile","parseSwitch","discriminant","cases","parsePrecision","precision","parsePreprocessor","left","next","right","isVariable","i","scopeIndex","delta","parseStatement","statement","hoistedTokens","NEWLINE_REGEX","DIRECTIVE_REGEX","parse","visit","visitors","ancestors","parentAncestors","visitor","dimension","kase","declaration","member","element","isWord","ee","isName","minifyLegacy","mangle","mangleMap","mangleExternals","mangleCache","mangleIndex","lineIndex","blockIndex","minified","isStorage","isScoped","namespace","storage","list","renamed","cache","j","minify","isWGSL","pushScope","scopes","popScope","getScopedType","getScopedName","types","typeScopes","mangleName","isExternal","_","structs","externals","C","externalTypes","decl","param","typeName","parent","isParentExternal"],"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,SAEA,KACA,MACA,KACA,MACA,OACA,WACA,SACA,SACA,SAEA,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,OAGA,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,WAKA,eACA,kBACA,YACA,cACA,gBACA,kBACA,sBACA,oBACA,mBACA,uBACA,qBAGA,YAIA,gBACA,oBAMA,SACA,SAGA,sBAGA,mBACA,mBACA,iBACA,uBACA,wBACA,0BAGA,mBACA,4BACA,8BACA,6BACA,8BACA,sCACA,8BACA,6BACA,iCACA,iCACA,8BACA,oCACA,6BACA,+BACA,+BACA,8BACA,qCACA,mCACA,qCACA,gCAGA,YACA,eACA,eACA,iBACA,iBAGA,kBACA,iBACA,kBACA,WACA,UACA,UACA,YACA,aACA,eACA,eAGA,yBACA,yBACA,gBAGA,YACA,YACA,YACA,YACA,WACA,YACA,iBACA,iBAGA,YACA,aAGA,UAGA,gBACA,6BACA,sBACA,qBACA,sBACA,oBACF,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,EC1+BA,SAASG,EAAaC,EAAyD,CAC7E,OAAKA,EAEE,UAAU,OAAO,QAAQA,CAAM,EACnC,IAAI,CAAC,CAACC,EAAGC,CAAC,IAAOA,IAAM,GAAOD,EAAI,GAAGA,CAAC,IAAIC,CAAC,EAAG,EAC9C,KAAK,GAAG,CAAC,IAJQ,EAKtB,CAGA,SAASC,EAAOC,EAA0B,CACxC,GAAI,CAACA,EAAM,MAAO,GAElB,OAAQA,EAAK,KAAA,CACX,IAAK,aACH,OAAOA,EAAK,KACd,IAAK,UACH,OAAOA,E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"}
package/package.json CHANGED
@@ -1,46 +1,46 @@
1
- {
2
- "name": "shaderkit",
3
- "version": "0.7.0",
4
- "description": "Tools and IntelliSense for GLSL and WGSL.",
5
- "keywords": [
6
- "shaders",
7
- "glsl",
8
- "wgsl",
9
- "webgl",
10
- "webgpu",
11
- "compiler",
12
- "parser",
13
- "minifier",
14
- "intellisense"
15
- ],
16
- "author": "Cody Bennett (https://github.com/CodyJasonBennett)",
17
- "homepage": "https://github.com/CodyJasonBennett/shaderkit",
18
- "repository": "https://github.com/CodyJasonBennett/shaderkit",
19
- "license": "MIT",
20
- "files": [
21
- "dist/*",
22
- "src/*"
23
- ],
24
- "type": "module",
25
- "main": "./dist/index.js",
26
- "exports": "./dist/index.js",
27
- "sideEffects": false,
28
- "devDependencies": {
29
- "@types/decompress": "^4.2.7",
30
- "@types/download": "^8.0.5",
31
- "@types/node": "^24.6.2",
32
- "decompress": "^4.2.1",
33
- "download": "^8.0.0",
34
- "rimraf": "^6.0.1",
35
- "temp-dir": "^3.0.0",
36
- "typescript": "^5.9.3",
37
- "vite": "^7.1.8",
38
- "vitest": "^3.2.4"
39
- },
40
- "scripts": {
41
- "dev": "vite",
42
- "build": "vite build",
43
- "lint": "tsc",
44
- "test": "vitest run"
45
- }
46
- }
1
+ {
2
+ "name": "shaderkit",
3
+ "version": "0.8.0",
4
+ "description": "Tools and IntelliSense for GLSL and WGSL.",
5
+ "keywords": [
6
+ "shaders",
7
+ "glsl",
8
+ "wgsl",
9
+ "webgl",
10
+ "webgpu",
11
+ "compiler",
12
+ "parser",
13
+ "minifier",
14
+ "intellisense"
15
+ ],
16
+ "author": "Cody Bennett (https://github.com/CodyJasonBennett)",
17
+ "homepage": "https://github.com/CodyJasonBennett/shaderkit",
18
+ "repository": "https://github.com/CodyJasonBennett/shaderkit",
19
+ "license": "MIT",
20
+ "files": [
21
+ "dist/*",
22
+ "src/*"
23
+ ],
24
+ "type": "module",
25
+ "main": "./dist/index.js",
26
+ "exports": "./dist/index.js",
27
+ "sideEffects": false,
28
+ "devDependencies": {
29
+ "@types/decompress": "^4.2.7",
30
+ "@types/download": "^8.0.5",
31
+ "@types/node": "^24.6.2",
32
+ "decompress": "^4.2.1",
33
+ "download": "^8.0.0",
34
+ "rimraf": "^6.0.1",
35
+ "temp-dir": "^3.0.0",
36
+ "typescript": "^5.9.3",
37
+ "vite": "^7.1.8",
38
+ "vitest": "^3.2.4"
39
+ },
40
+ "scripts": {
41
+ "dev": "vite",
42
+ "build": "vite build",
43
+ "lint": "tsc",
44
+ "test": "vitest run"
45
+ }
46
+ }