shaderkit 0.1.9 → 0.1.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2023 Cody Bennett
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2023 Cody Bennett
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md CHANGED
@@ -1,185 +1,185 @@
1
- [![Size](https://img.shields.io/bundlephobia/minzip/shaderkit?label=gzip&style=flat&colorA=000000&colorB=000000)](https://bundlephobia.com/package/shaderkit)
2
- [![Version](https://img.shields.io/npm/v/shaderkit?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/shaderkit)
3
- [![Downloads](https://img.shields.io/npm/dt/shaderkit.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/shaderkit)
4
-
5
- # shaderkit
6
-
7
- Tools and IntelliSense for GLSL and WGSL.
8
-
9
- ## Installation
10
-
11
- To install, use your preferred package manager:
12
-
13
- ```bash
14
- npm install shaderkit
15
- yarn add shaderkit
16
- pnpm add shaderkit
17
- ```
18
-
19
- Or, use a CDN:
20
-
21
- ```html
22
- <script type="module">
23
- import * as shaderkit from 'https://unpkg.com/shaderkit'
24
- </script>
25
- ```
26
-
27
- ## Tokenize
28
-
29
- Tokenizes a string of GLSL or WGSL code, returning an array of `Token` objects, where each `Token` object represents a single syntax feature in the input code.
30
-
31
- <details>
32
- <summary>GLSL Example</summary>
33
-
34
- <br />
35
-
36
- ```ts
37
- import { tokenize } from 'shaderkit'
38
-
39
- const code = 'void main() { gl_Position = vec4(0, 0, 0, 1); }'
40
- const tokens = tokenize(code)
41
-
42
- console.log(tokens)
43
- ```
44
-
45
- The output of the above code will be:
46
-
47
- ```json
48
- [
49
- { "type": "keyword", "value": "void" },
50
- { "type": "whitespace", "value": " " },
51
- { "type": "identifier", "value": "main" },
52
- { "type": "symbol", "value": "(" },
53
- { "type": "symbol", "value": ")" },
54
- { "type": "whitespace", "value": " " },
55
- { "type": "symbol", "value": "{" },
56
- { "type": "whitespace", "value": " " },
57
- { "type": "keyword", "value": "gl_Position" },
58
- { "type": "whitespace", "value": " " },
59
- { "type": "symbol", "value": "=" },
60
- { "type": "whitespace", "value": " " },
61
- { "type": "keyword", "value": "vec4" },
62
- { "type": "symbol", "value": "(" },
63
- { "type": "int", "value": "0" },
64
- { "type": "symbol", "value": "," },
65
- { "type": "whitespace", "value": " " },
66
- { "type": "int", "value": "0" },
67
- { "type": "symbol", "value": "," },
68
- { "type": "whitespace", "value": " " },
69
- { "type": "int", "value": "0" },
70
- { "type": "symbol", "value": "," },
71
- { "type": "whitespace", "value": " " },
72
- { "type": "int", "value": "1" },
73
- { "type": "symbol", "value": ")" },
74
- { "type": "symbol", "value": ";" },
75
- { "type": "whitespace", "value": " " },
76
- { "type": "symbol", "value": "}" }
77
- ]
78
- ```
79
-
80
- </details>
81
-
82
- <details>
83
- <summary>WGSL Example</summary>
84
-
85
- <br />
86
-
87
- ```ts
88
- import { tokenize } from 'shaderkit'
89
-
90
- const code = '@vertex fn main() -> @builtin(position) vec4<f32> { return vec4(0, 0, 0, 1); }'
91
- const tokens = tokenize(code)
92
-
93
- console.log(tokens)
94
- ```
95
-
96
- The output of the above code will be:
97
-
98
- ```json
99
- [
100
- { "type": "symbol", "value": "@" },
101
- { "type": "keyword", "value": "vertex" },
102
- { "type": "whitespace", "value": " " },
103
- { "type": "keyword", "value": "fn" },
104
- { "type": "whitespace", "value": " " },
105
- { "type": "identifier", "value": "main" },
106
- { "type": "symbol", "value": "(" },
107
- { "type": "symbol", "value": ")" },
108
- { "type": "whitespace", "value": " " },
109
- { "type": "symbol", "value": "->" },
110
- { "type": "whitespace", "value": " " },
111
- { "type": "symbol", "value": "@" },
112
- { "type": "keyword", "value": "builtin" },
113
- { "type": "symbol", "value": "(" },
114
- { "type": "keyword", "value": "position" },
115
- { "type": "symbol", "value": ")" },
116
- { "type": "whitespace", "value": " " },
117
- { "type": "keyword", "value": "vec4" },
118
- { "type": "symbol", "value": "<" },
119
- { "type": "keyword", "value": "f32" },
120
- { "type": "symbol", "value": ">" },
121
- { "type": "whitespace", "value": " " },
122
- { "type": "symbol", "value": "{" },
123
- { "type": "whitespace", "value": " " },
124
- { "type": "keyword", "value": "return" },
125
- { "type": "whitespace", "value": " " },
126
- { "type": "keyword", "value": "vec4" },
127
- { "type": "symbol", "value": "(" },
128
- { "type": "int", "value": "0" },
129
- { "type": "symbol", "value": "," },
130
- { "type": "whitespace", "value": " " },
131
- { "type": "int", "value": "0" },
132
- { "type": "symbol", "value": "," },
133
- { "type": "whitespace", "value": " " },
134
- { "type": "int", "value": "0" },
135
- { "type": "symbol", "value": "," },
136
- { "type": "whitespace", "value": " " },
137
- { "type": "int", "value": "1" },
138
- { "type": "symbol", "value": ")" },
139
- { "type": "symbol", "value": ";" },
140
- { "type": "whitespace", "value": " " },
141
- { "type": "symbol", "value": "}" }
142
- ]
143
- ```
144
-
145
- </details>
146
-
147
- The following are the supported token types and their descriptions:
148
-
149
- | Type | Description |
150
- | ---------- | ------------------------------------------------------------------------- |
151
- | whitespace | A sequence of one or more whitespace characters. |
152
- | comment | A single-line or multi-line comment. |
153
- | symbol | A symbol, such as an operator or punctuation mark. |
154
- | bool | A boolean value, either true or false. |
155
- | float | A floating-point number, represented by a sequence of digits and symbols. |
156
- | int | An integer number, represented by a sequence of digits. |
157
- | identifier | A user-defined identifier, such as a variable name or function name. |
158
- | keyword | A keyword reserved by the language, such as if, else, for, etc. |
159
-
160
- ## Minify
161
-
162
- Minifies a string of GLSL or WGSL code, returning a minified version of the input code.
163
-
164
- ```ts
165
- const minified: string = minify(code: string, {
166
- /** Whether to rename variables. Will call a MangleMatcher if specified. Default is `false`. */
167
- mangle: boolean | ((token: Token, index: number, tokens: Token[]) => boolean)
168
- /** A map to read and write renamed variables to when mangling. */
169
- mangleMap: Map<string, string>
170
- /** Whether to rename external variables such as uniforms or varyings. Default is `false`. */
171
- mangleExternals: boolean
172
- })
173
- ```
174
-
175
- To shared mangled interfaces when using `mangleExternal`, declare and re-use a `mangleMap` between shaders:
176
-
177
- ```ts
178
- const programOpts = { mangle: true, mangleExternals: true, mangleMap: new Map() }
179
-
180
- // #version 300 es\nin vec2 a;out vec2 b;void main(){b=a;}
181
- minify(`#version 300 es\nin vec2 uv;out vec2 c;void main(){c=uv;}`, programOpts)
182
-
183
- // #version 300 es\nin vec2 b;out vec4 c[gl_MaxDrawBuffers];void main(){c[0]=b.sstt;}
184
- minify(`#version 300 es\nin vec2 c;out vec4 data[gl_MaxDrawBuffers];void main(){data[0]=c.sstt;}`, programOpts)
185
- ```
1
+ [![Size](https://img.shields.io/bundlephobia/minzip/shaderkit?label=gzip&style=flat&colorA=000000&colorB=000000)](https://bundlephobia.com/package/shaderkit)
2
+ [![Version](https://img.shields.io/npm/v/shaderkit?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/shaderkit)
3
+ [![Downloads](https://img.shields.io/npm/dt/shaderkit.svg?style=flat&colorA=000000&colorB=000000)](https://npmjs.com/package/shaderkit)
4
+
5
+ # shaderkit
6
+
7
+ Tools and IntelliSense for GLSL and WGSL.
8
+
9
+ ## Installation
10
+
11
+ To install, use your preferred package manager:
12
+
13
+ ```bash
14
+ npm install shaderkit
15
+ yarn add shaderkit
16
+ pnpm add shaderkit
17
+ ```
18
+
19
+ Or, use a CDN:
20
+
21
+ ```html
22
+ <script type="module">
23
+ import * as shaderkit from 'https://unpkg.com/shaderkit'
24
+ </script>
25
+ ```
26
+
27
+ ## Tokenize
28
+
29
+ Tokenizes a string of GLSL or WGSL code, returning an array of `Token` objects, where each `Token` object represents a single syntax feature in the input code.
30
+
31
+ <details>
32
+ <summary>GLSL Example</summary>
33
+
34
+ <br />
35
+
36
+ ```ts
37
+ import { tokenize } from 'shaderkit'
38
+
39
+ const code = 'void main() { gl_Position = vec4(0, 0, 0, 1); }'
40
+ const tokens = tokenize(code)
41
+
42
+ console.log(tokens)
43
+ ```
44
+
45
+ The output of the above code will be:
46
+
47
+ ```json
48
+ [
49
+ { "type": "keyword", "value": "void" },
50
+ { "type": "whitespace", "value": " " },
51
+ { "type": "identifier", "value": "main" },
52
+ { "type": "symbol", "value": "(" },
53
+ { "type": "symbol", "value": ")" },
54
+ { "type": "whitespace", "value": " " },
55
+ { "type": "symbol", "value": "{" },
56
+ { "type": "whitespace", "value": " " },
57
+ { "type": "keyword", "value": "gl_Position" },
58
+ { "type": "whitespace", "value": " " },
59
+ { "type": "symbol", "value": "=" },
60
+ { "type": "whitespace", "value": " " },
61
+ { "type": "keyword", "value": "vec4" },
62
+ { "type": "symbol", "value": "(" },
63
+ { "type": "int", "value": "0" },
64
+ { "type": "symbol", "value": "," },
65
+ { "type": "whitespace", "value": " " },
66
+ { "type": "int", "value": "0" },
67
+ { "type": "symbol", "value": "," },
68
+ { "type": "whitespace", "value": " " },
69
+ { "type": "int", "value": "0" },
70
+ { "type": "symbol", "value": "," },
71
+ { "type": "whitespace", "value": " " },
72
+ { "type": "int", "value": "1" },
73
+ { "type": "symbol", "value": ")" },
74
+ { "type": "symbol", "value": ";" },
75
+ { "type": "whitespace", "value": " " },
76
+ { "type": "symbol", "value": "}" }
77
+ ]
78
+ ```
79
+
80
+ </details>
81
+
82
+ <details>
83
+ <summary>WGSL Example</summary>
84
+
85
+ <br />
86
+
87
+ ```ts
88
+ import { tokenize } from 'shaderkit'
89
+
90
+ const code = '@vertex fn main() -> @builtin(position) vec4<f32> { return vec4(0, 0, 0, 1); }'
91
+ const tokens = tokenize(code)
92
+
93
+ console.log(tokens)
94
+ ```
95
+
96
+ The output of the above code will be:
97
+
98
+ ```json
99
+ [
100
+ { "type": "symbol", "value": "@" },
101
+ { "type": "keyword", "value": "vertex" },
102
+ { "type": "whitespace", "value": " " },
103
+ { "type": "keyword", "value": "fn" },
104
+ { "type": "whitespace", "value": " " },
105
+ { "type": "identifier", "value": "main" },
106
+ { "type": "symbol", "value": "(" },
107
+ { "type": "symbol", "value": ")" },
108
+ { "type": "whitespace", "value": " " },
109
+ { "type": "symbol", "value": "->" },
110
+ { "type": "whitespace", "value": " " },
111
+ { "type": "symbol", "value": "@" },
112
+ { "type": "keyword", "value": "builtin" },
113
+ { "type": "symbol", "value": "(" },
114
+ { "type": "keyword", "value": "position" },
115
+ { "type": "symbol", "value": ")" },
116
+ { "type": "whitespace", "value": " " },
117
+ { "type": "keyword", "value": "vec4" },
118
+ { "type": "symbol", "value": "<" },
119
+ { "type": "keyword", "value": "f32" },
120
+ { "type": "symbol", "value": ">" },
121
+ { "type": "whitespace", "value": " " },
122
+ { "type": "symbol", "value": "{" },
123
+ { "type": "whitespace", "value": " " },
124
+ { "type": "keyword", "value": "return" },
125
+ { "type": "whitespace", "value": " " },
126
+ { "type": "keyword", "value": "vec4" },
127
+ { "type": "symbol", "value": "(" },
128
+ { "type": "int", "value": "0" },
129
+ { "type": "symbol", "value": "," },
130
+ { "type": "whitespace", "value": " " },
131
+ { "type": "int", "value": "0" },
132
+ { "type": "symbol", "value": "," },
133
+ { "type": "whitespace", "value": " " },
134
+ { "type": "int", "value": "0" },
135
+ { "type": "symbol", "value": "," },
136
+ { "type": "whitespace", "value": " " },
137
+ { "type": "int", "value": "1" },
138
+ { "type": "symbol", "value": ")" },
139
+ { "type": "symbol", "value": ";" },
140
+ { "type": "whitespace", "value": " " },
141
+ { "type": "symbol", "value": "}" }
142
+ ]
143
+ ```
144
+
145
+ </details>
146
+
147
+ The following are the supported token types and their descriptions:
148
+
149
+ | Type | Description |
150
+ | ---------- | ------------------------------------------------------------------------- |
151
+ | whitespace | A sequence of one or more whitespace characters. |
152
+ | comment | A single-line or multi-line comment. |
153
+ | symbol | A symbol, such as an operator or punctuation mark. |
154
+ | bool | A boolean value, either true or false. |
155
+ | float | A floating-point number, represented by a sequence of digits and symbols. |
156
+ | int | An integer number, represented by a sequence of digits. |
157
+ | identifier | A user-defined identifier, such as a variable name or function name. |
158
+ | keyword | A keyword reserved by the language, such as if, else, for, etc. |
159
+
160
+ ## Minify
161
+
162
+ Minifies a string of GLSL or WGSL code, returning a minified version of the input code.
163
+
164
+ ```ts
165
+ const minified: string = minify(code: string, {
166
+ /** Whether to rename variables. Will call a MangleMatcher if specified. Default is `false`. */
167
+ mangle: boolean | ((token: Token, index: number, tokens: Token[]) => boolean)
168
+ /** A map to read and write renamed variables to when mangling. */
169
+ mangleMap: Map<string, string>
170
+ /** Whether to rename external variables such as uniforms or varyings. Default is `false`. */
171
+ mangleExternals: boolean
172
+ })
173
+ ```
174
+
175
+ To shared mangled interfaces when using `mangleExternal`, declare and re-use a `mangleMap` between shaders:
176
+
177
+ ```ts
178
+ const programOpts = { mangle: true, mangleExternals: true, mangleMap: new Map() }
179
+
180
+ // #version 300 es\nin vec2 a;out vec2 b;void main(){b=a;}
181
+ minify(`#version 300 es\nin vec2 uv;out vec2 c;void main(){c=uv;}`, programOpts)
182
+
183
+ // #version 300 es\nin vec2 b;out vec4 c[gl_MaxDrawBuffers];void main(){c[0]=b.sstt;}
184
+ minify(`#version 300 es\nin vec2 c;out vec4 data[gl_MaxDrawBuffers];void main(){data[0]=c.sstt;}`, programOpts)
185
+ ```
package/dist/index.cjs ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const T=["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"],I=["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"],G=["//","/*","*/",":",",",".","{","[","(","?","}","]",")",";","~","--","++","!","&","|","^","/","==",">",">=","<","<=","&&","||","^^","-","*","!=","+","%","<<",">>","=","+=","&=","|=","^=","/=","*=","%=","<<=",">>=","-="],P=[...G,"#","\\"],W=[...G,"->","@"],U=RegExp.prototype.test.bind(/\bfn\s+\w+\s*\(|\b(var|let)\s+\w+\s*[:=]/),k=RegExp.prototype.test.bind(/^(\d+\.\d*|\d*\.\d+)([eEpP][-+]?\d+)?[fFhH]?$/),q=RegExp.prototype.test.bind(/^(0[xX][\w\d]+|\d+)[iIuU]?$/),Y=RegExp.prototype.test.bind(/^(true|false)$/),N=48,j=57,H=65,$=90,K=10,Z=13,X=9,J=32,Q=95,C=47,E=42,ee=35,te=64,z=e=>N<=e&&e<=j,ae=e=>(e&=-33,H<=e&&e<=$),re=e=>e===K||e===Z,B=e=>re(e)||e===X||e===J,O=e=>ae(e)||z(e)||e===Q,ie=e=>e===ee||e===te;function V(e,r=0){const o=[];let p=-1;const[c,d]=U(e)?[T,W]:[I,P];for(;r<e.length;){let t=e[r];const s=e.charCodeAt(r++);if(B(s)){for(;B(e.charCodeAt(r));)t+=e[r++];o.push({type:"whitespace",value:t})}else if(z(s)){for(;k(t+e[r])||q(t+e[r]);)t+=e[r++];k(t)?o.push({type:"float",value:t}):o.push({type:"int",value:t})}else if(O(s)){for(;O(e.charCodeAt(r));)t+=e[r++];Y(t)?o.push({type:"bool",value:t}):c.includes(ie(p)?String.fromCharCode(p)+t:t)?o.push({type:"keyword",value:t}):o.push({type:"identifier",value:t})}else if(s===C&&(e.charCodeAt(r)===C||e.charCodeAt(r)===E)){const u=e.charCodeAt(r)===E?"*/":`
2
+ `;for(;!t.endsWith(u);)t+=e[r++];o.push({type:"comment",value:t})}else{for(const u of d)u.length>t.length&&e.startsWith(u,r-1)&&(t=u);r+=t.length-1,o.push({type:"symbol",value:t})}p=s}return o}const M=RegExp.prototype.test.bind(/^\w/),oe=RegExp.prototype.test.bind(/[^\w\\]/),R=RegExp.prototype.test.bind(/^[_A-Za-z]/),F=RegExp.prototype.test.bind(/^(uniform|in|out|attribute|varying|,)$/);function se(e,{mangle:r=!1,mangleMap:o=new Map,mangleExternals:p=!1}={}){var c,d,t,s,u,g,v,h,_,y,b,D,w,S;e=e.replace(/(^\s*#[^\\]*?)(\n|\/[\/\*])/gm,"$1\\$2");const A=new Set(o.values()),i=V(e).filter(a=>a.type!=="whitespace"&&a.type!=="comment");let L=0,x=null,m="";for(let a=0;a<i.length;a++){const n=i[a];if(M(n.value)&&M((c=i[a-1])==null?void 0:c.value)&&(m+=" "),n.value==="{"&&R((d=i[a-1])==null?void 0:d.value)?x=a-1:n.value==="}"&&(x=null),oe(n.value)&&(((t=i[a-2])==null?void 0:t.value)==="#"&&((s=i[a-1])==null?void 0:s.value)==="include"||((u=i[a-3])==null?void 0:u.value)==="#"&&((g=i[a-2])==null?void 0:g.value)==="define")&&(m+=" "),n.type==="identifier"&&n.value!=="main"&&(typeof r=="boolean"?r:r(n,a,i))){let l=o.get(n.value);if(!l&&x==null&&(R((v=i[a-1])==null?void 0:v.value)||((h=i[a-1])==null?void 0:h.value)==="}"&&((_=i[a+1])==null?void 0:_.value)===";"||((y=i[a-1])==null?void 0:y.value)===","||((b=i[a+1])==null?void 0:b.value)===":")&&(p||!F((D=i[a-1])==null?void 0:D.value)&&!F((w=i[a-2])==null?void 0:w.value))){for(;!l||A.has(l);){l="",L++;let f=L;for(;f>0;)l=String.fromCharCode(97+(f-1)%26)+l,f=Math.floor(f/26)}o.set(n.value,l)}m+=l!=null?l:n.value}else n.value==="#"&&((S=i[a-1])==null?void 0:S.value)!=="\\"?m+=`
3
+ #`:n.value==="\\"?m+=`
4
+ `:m+=n.value}return m.trim()}exports.GLSL_KEYWORDS=I,exports.GLSL_SYMBOLS=P,exports.WGSL_KEYWORDS=T,exports.WGSL_SYMBOLS=W,exports.minify=se,exports.tokenize=V;
5
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +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","renamed","_g","_h","_i","_j","_k","_l","_m","j","_n"],"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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"}
@@ -0,0 +1 @@
1
+ export * from '../src'