glre 0.36.0 → 0.38.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.d.ts CHANGED
@@ -3,6 +3,7 @@ import { Queue, Frame } from 'refr';
3
3
  export { Frame, Fun, Queue } from 'refr';
4
4
  import { EventState, Nested } from 'reev';
5
5
 
6
+ declare const CONVERSIONS: readonly ["toBool", "toUint", "toInt", "toFloat", "toBvec2", "toIvec2", "toUvec2", "toVec2", "toBvec3", "toIvec3", "toUvec3", "toVec3", "toBvec4", "toIvec4", "toUvec4", "toVec4", "toColor", "toMat2", "toMat3", "toMat4"];
6
7
  declare const TYPE_MAPPING: {
7
8
  readonly bool: "bool";
8
9
  readonly uint: "u32";
@@ -28,9 +29,9 @@ declare const TYPE_MAPPING: {
28
29
  readonly sampler2D: "sampler";
29
30
  readonly struct: "struct";
30
31
  };
31
- declare const CONSTANTS: keyof typeof TYPE_MAPPING;
32
- declare const CONVERSIONS: readonly ["toBool", "toUint", "toInt", "toFloat", "toBvec2", "toIvec2", "toUvec2", "toVec2", "toBvec3", "toIvec3", "toUvec3", "toVec3", "toBvec4", "toIvec4", "toUvec4", "toVec4", "toColor", "toMat2", "toMat3", "toMat4"];
32
+ declare const CONSTANTS: (keyof typeof TYPE_MAPPING)[];
33
33
  declare const OPERATORS: {
34
+ readonly not: "";
34
35
  readonly add: "+";
35
36
  readonly sub: "-";
36
37
  readonly mul: "*";
@@ -51,12 +52,20 @@ declare const OPERATORS: {
51
52
  readonly shiftRight: ">>";
52
53
  };
53
54
  declare const OPERATOR_KEYS: (keyof typeof OPERATORS)[];
54
- declare const FUNCTIONS: readonly ["dot", "distance", "length", "lengthSq", "determinant", "luminance", "all", "any", "abs", "sign", "floor", "ceil", "round", "fract", "trunc", "sin", "cos", "tan", "asin", "acos", "atan", "sinh", "cosh", "tanh", "asinh", "acosh", "atanh", "exp", "exp2", "log", "log2", "sqrt", "inverseSqrt", "normalize", "oneMinus", "saturate", "negate", "reciprocal", "dFdx", "dFdy", "fwidth", "degrees", "radians", "cross", "reflect", "refract", "min", "max", "mix", "clamp", "step", "smoothstep", "pow", "atan2", "texture", "textureLod", "textureSize", "cubeTexture", "faceforward", "bitcast", "cbrt", "difference", "equals", "pow2", "pow3", "pow4", "transformDirection"];
55
+ /**
56
+ * 2.2. unified with:
57
+ * 1.2. index.ts functions and
58
+ * 3.2. types.ts BaseNodeProxy
59
+ */
60
+ declare const FUNCTIONS: readonly [...("texture" | "all" | "any" | "determinant" | "distance" | "dot" | "length" | "lengthSq" | "luminance" | "cross" | "cubeTexture" | "texelFetch" | "textureLod")[], "abs", "acos", "acosh", "asin", "asinh", "atan", "atanh", "ceil", "cos", "cosh", "dFdx", "dFdy", "degrees", "exp", "exp2", "floor", "fract", "fwidth", "inverseSqrt", "log", "log2", "negate", "normalize", "oneMinus", "radians", "reciprocal", "round", "saturate", "sign", "sin", "sinh", "sqrt", "tan", "tanh", "trunc", "atan2", "clamp", "max", "min", "mix", "pow", "reflect", "refract", "smoothstep", "step"];
55
61
 
56
62
  type Constants = (typeof CONSTANTS)[number] | 'void';
57
63
  type Conversions = (typeof CONVERSIONS)[number];
58
64
  type Functions = (typeof FUNCTIONS)[number];
59
65
  type Operators = (typeof OPERATOR_KEYS)[number];
66
+ /**
67
+ * scope
68
+ */
60
69
  interface FnLayout {
61
70
  name: string;
62
71
  type: Constants | 'auto';
@@ -65,25 +74,29 @@ interface FnLayout {
65
74
  type: Constants;
66
75
  }>;
67
76
  }
77
+ interface FnType<T extends NodeProxy | StructNode | void, Args extends any[]> {
78
+ (...args: Args): T extends void ? Void : T;
79
+ setLayout(layout: FnLayout): FnType<T, Args>;
80
+ }
68
81
  /**
69
- * Node
82
+ * node
70
83
  */
71
- type NodeTypes = 'attribute' | 'uniform' | 'constant' | 'variable' | 'varying' | 'ternary' | 'builtin' | 'conversion' | 'operator' | 'function' | 'struct' | 'member' | 'element' | 'scope' | 'assign' | 'loop' | 'define' | 'if' | 'switch' | 'declare' | 'return';
72
- interface NodeProps<T extends Record<string, NodeProxy> = {}> {
84
+ type NodeTypes = 'attribute' | 'storage' | 'uniform' | 'constant' | 'variable' | 'varying' | 'ternary' | 'builtin' | 'conversion' | 'operator' | 'function' | 'struct' | 'member' | 'element' | 'gather' | 'scatter' | 'scope' | 'assign' | 'loop' | 'define' | 'if' | 'switch' | 'declare' | 'return';
85
+ interface NodeProps {
73
86
  id?: string;
74
87
  args?: any[];
75
88
  type?: string;
76
89
  children?: any[];
77
90
  inferFrom?: any[];
78
91
  layout?: FnLayout;
79
- fields?: T;
80
- initialValues?: T;
92
+ fields?: StructFields;
93
+ initialValues?: StructFields;
81
94
  }
82
95
  interface NodeContext {
83
96
  gl?: Partial<GL>;
84
- isFrag?: boolean;
97
+ label?: 'vert' | 'frag' | 'compute';
85
98
  isWebGL?: boolean;
86
- binding?: number;
99
+ units?: any;
87
100
  infers?: WeakMap<NodeProxy, Constants>;
88
101
  onMount?: (name: string) => void;
89
102
  code?: {
@@ -92,7 +105,9 @@ interface NodeContext {
92
105
  vertInputs: Map<string, string>;
93
106
  vertOutputs: Map<string, string>;
94
107
  vertVaryings: Map<string, string>;
108
+ computeInputs: Map<string, string>;
95
109
  dependencies: Map<string, Set<string>>;
110
+ structFields: Map<string, StructFields>;
96
111
  };
97
112
  }
98
113
  /**
@@ -107,8 +122,76 @@ type InferSwizzleType<S extends string> = _StringLength<S> extends 4 ? 'vec4' :
107
122
  */
108
123
  type _Swizzles<T extends string> = T | `${T}${T}` | `${T}${T}${T}` | `${T}${T}${T}${T}`;
109
124
  type Swizzles = _Swizzles<'x' | 'y' | 'z' | 'w'> | _Swizzles<'r' | 'g' | 'b' | 'a'> | _Swizzles<'p' | 'q'> | _Swizzles<'s' | 't'>;
110
- type NodeProxyMethods = Functions | Operators | Conversions | Swizzles | 'type' | 'props' | 'isProxy' | 'assign' | 'toVar' | 'toString' | 'element';
125
+ type NodeProxyMethods = Functions | Operators | Conversions | Swizzles | '__nodeType' | 'type' | 'props' | 'isProxy' | 'assign' | 'toVar' | 'toString' | 'element';
126
+ type ReadNodeProxy = {
127
+ [K in string as K extends NodeProxyMethods ? never : K]: any;
128
+ } & {
129
+ [K in Swizzles]: NodeProxy<InferSwizzleType<K>>;
130
+ };
131
+ type NodeProxyImpl<T extends Constants> = BaseNodeProxy<T> & ReadNodeProxy;
132
+ type Void = NodeProxyImpl<'void'>;
133
+ type Bool = NodeProxyImpl<'bool'>;
134
+ type UInt = NodeProxyImpl<'uint'>;
135
+ type Int = NodeProxyImpl<'int'>;
136
+ type Float = NodeProxyImpl<'float'>;
137
+ type BVec2 = NodeProxyImpl<'bvec2'>;
138
+ type IVec2 = NodeProxyImpl<'ivec2'>;
139
+ type UVec2 = NodeProxyImpl<'uvec2'>;
140
+ type Vec2 = NodeProxyImpl<'vec2'>;
141
+ type BVec3 = NodeProxyImpl<'bvec3'>;
142
+ type IVec3 = NodeProxyImpl<'ivec3'>;
143
+ type UVec3 = NodeProxyImpl<'uvec3'>;
144
+ type Vec3 = NodeProxyImpl<'vec3'>;
145
+ type BVec4 = NodeProxyImpl<'bvec4'>;
146
+ type IVec4 = NodeProxyImpl<'ivec4'>;
147
+ type UVec4 = NodeProxyImpl<'uvec4'>;
148
+ type Vec4 = NodeProxyImpl<'vec4'>;
149
+ type Color = NodeProxyImpl<'color'>;
150
+ type Mat2 = NodeProxyImpl<'mat2'>;
151
+ type Mat3 = NodeProxyImpl<'mat3'>;
152
+ type Mat4 = NodeProxyImpl<'mat4'>;
153
+ type Texture = NodeProxyImpl<'texture'>;
154
+ type Sampler2D = NodeProxyImpl<'sampler2D'>;
155
+ type Struct = NodeProxyImpl<'struct'>;
156
+ type StructFields = Record<string, NodeProxy>;
157
+ type StructNode<T extends StructFields = any> = Omit<Struct, keyof T> & {
158
+ [K in keyof T]: T[K] extends NodeProxy<infer U> ? NodeProxy<U> : never;
159
+ } & {
160
+ toVar(id?: string): StructNode<T>;
161
+ };
162
+ interface StructFactory<T extends StructFields> {
163
+ (initialValues?: StructFields, instanceId?: string): StructNode<T>;
164
+ }
165
+ interface ConstantsToType {
166
+ void: Void;
167
+ bool: Bool;
168
+ uint: UInt;
169
+ int: Int;
170
+ float: Float;
171
+ bvec2: BVec2;
172
+ ivec2: IVec2;
173
+ uvec2: UVec2;
174
+ vec2: Vec2;
175
+ bvec3: BVec3;
176
+ ivec3: IVec3;
177
+ uvec3: UVec3;
178
+ vec3: Vec3;
179
+ bvec4: BVec4;
180
+ ivec4: IVec4;
181
+ uvec4: UVec4;
182
+ vec4: Vec4;
183
+ color: Color;
184
+ mat2: Mat2;
185
+ mat3: Mat3;
186
+ mat4: Mat4;
187
+ texture: Texture;
188
+ sampler2D: Sampler2D;
189
+ struct: Struct;
190
+ }
191
+ type NodeProxy<T extends Constants = Constants> = T extends keyof ConstantsToType ? ConstantsToType[T] : BaseNodeProxy<T>;
192
+ type X<T extends Constants = Constants> = number | string | boolean | undefined | NodeProxy<T>;
111
193
  interface BaseNodeProxy<T extends Constants> {
194
+ readonly __nodeType?: T;
112
195
  assign(x: any): NodeProxy<T>;
113
196
  toVar(name?: string): NodeProxy<T>;
114
197
  toString(c?: NodeContext): string;
@@ -116,6 +199,8 @@ interface BaseNodeProxy<T extends Constants> {
116
199
  props: NodeProps;
117
200
  isProxy: true;
118
201
  listeners: Set<(value: any) => void>;
202
+ element<Index extends X>(index: Index): NodeProxy<InferArrayElement<T>>;
203
+ member<K extends string>(key: K): K extends keyof T ? (T[K] extends NodeProxy<infer U> ? NodeProxy<U> : never) : never;
119
204
  add<U extends Constants>(x: X<U>): NodeProxy<InferOperator<T, U>>;
120
205
  sub<U extends Constants>(x: X<U>): NodeProxy<InferOperator<T, U>>;
121
206
  mul<U extends Constants>(x: X<U>): NodeProxy<InferOperator<T, U>>;
@@ -156,1637 +241,113 @@ interface BaseNodeProxy<T extends Constants> {
156
241
  toMat2(): Mat2;
157
242
  toMat3(): Mat3;
158
243
  toMat4(): Mat4;
244
+ /**
245
+ * 3.1. unified logic with:
246
+ * 1.1. index.ts functions and
247
+ * 2.1. const.ts FUNCTION_RETURN_TYPES
248
+ */
249
+ all(): Bool;
250
+ any(): Bool;
251
+ determinant(): Float;
252
+ distance<U extends Constants>(y: X<U>): Float;
253
+ dot<U extends Constants>(y: X<U>): Float;
254
+ length(): Float;
255
+ lengthSq(): Float;
256
+ luminance(): Float;
257
+ cross<U extends Constants>(y: X<U>): Vec3;
258
+ cubeTexture(...args: X[]): Vec4;
259
+ texture(...args: X[]): Vec4;
260
+ texelFetch(...args: X[]): Vec4;
261
+ textureLod(...args: X[]): Vec4;
262
+ /**
263
+ * 3.1. unified with:
264
+ * 1.1. index.ts functions and
265
+ * 2.1. const.ts FUNCTIONS
266
+ */
159
267
  abs(): NodeProxy<T>;
160
- sign(): NodeProxy<T>;
161
- floor(): NodeProxy<T>;
162
- ceil(): NodeProxy<T>;
163
- round(): NodeProxy<T>;
164
- fract(): NodeProxy<T>;
165
- trunc(): NodeProxy<T>;
166
- sin(): NodeProxy<T>;
167
- cos(): NodeProxy<T>;
168
- tan(): NodeProxy<T>;
169
- asin(): NodeProxy<T>;
170
268
  acos(): NodeProxy<T>;
269
+ acosh(): NodeProxy<T>;
270
+ asin(): NodeProxy<T>;
271
+ asinh(): NodeProxy<T>;
171
272
  atan(): NodeProxy<T>;
273
+ atanh(): NodeProxy<T>;
274
+ ceil(): NodeProxy<T>;
275
+ cos(): NodeProxy<T>;
276
+ cosh(): NodeProxy<T>;
277
+ degrees(): NodeProxy<T>;
278
+ dFdx(): NodeProxy<T>;
279
+ dFdy(): NodeProxy<T>;
172
280
  exp(): NodeProxy<T>;
173
281
  exp2(): NodeProxy<T>;
282
+ floor(): NodeProxy<T>;
283
+ fract(): NodeProxy<T>;
284
+ fwidth(): NodeProxy<T>;
285
+ inverseSqrt(): NodeProxy<T>;
174
286
  log(): NodeProxy<T>;
175
287
  log2(): NodeProxy<T>;
176
- sqrt(): NodeProxy<T>;
177
- inverseSqrt(): NodeProxy<T>;
288
+ negate(): NodeProxy<T>;
178
289
  normalize(): NodeProxy<T>;
179
290
  oneMinus(): NodeProxy<T>;
180
- saturate(): NodeProxy<T>;
181
- negate(): NodeProxy<T>;
291
+ radians(): NodeProxy<T>;
182
292
  reciprocal(): NodeProxy<T>;
183
- dFdx(): NodeProxy<T>;
184
- dFdy(): NodeProxy<T>;
185
- fwidth(): NodeProxy<T>;
186
- length(): Float;
187
- lengthSq(): Float;
188
- determinant(): Float;
189
- luminance(): Float;
190
- all(): Bool;
191
- any(): Bool;
192
- cross<U extends Constants>(y: X<U>): Vec3;
293
+ round(): NodeProxy<T>;
294
+ saturate(): NodeProxy<T>;
295
+ sign(): NodeProxy<T>;
296
+ sin(): NodeProxy<T>;
297
+ sinh(): NodeProxy<T>;
298
+ sqrt(): NodeProxy<T>;
299
+ tan(): NodeProxy<T>;
300
+ tanh(): NodeProxy<T>;
301
+ trunc(): NodeProxy<T>;
193
302
  atan2<U extends Constants>(x: X<U>): NodeProxy<T>;
303
+ clamp<U extends Constants, V>(mix: X<U>, max: V): NodeProxy<InferOperator<T, U>>;
304
+ max<U extends Constants>(y: X<U>): NodeProxy<InferOperator<T, U>>;
305
+ min<U extends Constants>(y: X<U>): NodeProxy<InferOperator<T, U>>;
306
+ mix<U extends Constants, V>(y: X<U>, a: V): NodeProxy<InferOperator<T, U>>;
194
307
  pow<U extends Constants>(y: X<U>): NodeProxy<T>;
195
- distance<U extends Constants>(y: X<U>): Float;
196
- dot<U extends Constants>(y: X<U>): Float;
197
308
  reflect<U extends Constants>(N: X<U>): NodeProxy<T>;
198
309
  refract<U extends Constants>(N: X<U>, eta: any): NodeProxy<T>;
199
- min<U extends Constants>(y: X<U>): NodeProxy<InferOperator<T, U>>;
200
- max<U extends Constants>(y: X<U>): NodeProxy<InferOperator<T, U>>;
201
- mix<U extends Constants, V>(y: X<U>, a: V): NodeProxy<InferOperator<T, U>>;
202
- clamp<U extends Constants, V>(mix: X<U>, max: V): NodeProxy<InferOperator<T, U>>;
203
- step<U extends Constants>(edge: X<U>): NodeProxy<InferOperator<T, U>>;
204
310
  smoothstep<U extends Constants, V>(edge0: X<U>, edge1: V): NodeProxy<InferOperator<T, U>>;
205
- pow2(): NodeProxy<T>;
206
- pow3(): NodeProxy<T>;
207
- pow4(): NodeProxy<T>;
208
- element<Index extends X>(index: Index): NodeProxy<InferArrayElement<T>>;
209
- }
210
- type ReadNodeProxy = {
211
- [K in string as K extends NodeProxyMethods ? never : K]: any;
212
- } & {
213
- [K in Swizzles]: NodeProxy<InferSwizzleType<K>>;
214
- };
215
- type NodeProxyImpl<T extends Constants = string> = BaseNodeProxy<T> & ReadNodeProxy;
216
- type Bool = NodeProxyImpl<'bool'>;
217
- type UInt = NodeProxyImpl<'uint'>;
218
- type Int = NodeProxyImpl<'int'>;
219
- type Float = NodeProxyImpl<'float'>;
220
- type BVec2 = NodeProxyImpl<'bvec2'>;
221
- type IVec2 = NodeProxyImpl<'ivec2'>;
222
- type UVec2 = NodeProxyImpl<'uvec2'>;
223
- type Vec2 = NodeProxyImpl<'vec2'>;
224
- type BVec3 = NodeProxyImpl<'bvec3'>;
225
- type IVec3 = NodeProxyImpl<'ivec3'>;
226
- type UVec3 = NodeProxyImpl<'uvec3'>;
227
- type Vec3 = NodeProxyImpl<'vec3'>;
228
- type BVec4 = NodeProxyImpl<'bvec4'>;
229
- type IVec4 = NodeProxyImpl<'ivec4'>;
230
- type UVec4 = NodeProxyImpl<'uvec4'>;
231
- type Vec4 = NodeProxyImpl<'vec4'>;
232
- type Color = NodeProxyImpl<'color'>;
233
- type Mat2 = NodeProxyImpl<'mat2'>;
234
- type Mat3 = NodeProxyImpl<'mat3'>;
235
- type Mat4 = NodeProxyImpl<'mat4'>;
236
- type Texture = NodeProxyImpl<'texture'>;
237
- type Sampler2D = NodeProxyImpl<'sampler2D'>;
238
- type Struct = NodeProxyImpl<'struct'>;
239
- interface ConstantsToType {
240
- bool: Bool;
241
- uint: UInt;
242
- int: Int;
243
- float: Float;
244
- bvec2: BVec2;
245
- ivec2: IVec2;
246
- uvec2: UVec2;
247
- vec2: Vec2;
248
- bvec3: BVec3;
249
- ivec3: IVec3;
250
- uvec3: UVec3;
251
- vec3: Vec3;
252
- bvec4: BVec4;
253
- ivec4: IVec4;
254
- uvec4: UVec4;
255
- vec4: Vec4;
256
- color: Color;
257
- mat2: Mat2;
258
- mat3: Mat3;
259
- mat4: Mat4;
260
- texture: Texture;
261
- sampler2D: Sampler2D;
262
- struct: Struct;
311
+ step<U extends Constants>(edge: X<U>): NodeProxy<InferOperator<T, U>>;
263
312
  }
264
- type NodeProxy<T extends Constants = string> = T extends keyof ConstantsToType ? ConstantsToType[T] : NodeProxyImpl<T>;
265
- type X<T extends Constants = string> = number | string | boolean | undefined | NodeProxy<T> | X[];
266
313
 
267
314
  declare const fragment: (x: X, c: NodeContext) => string;
268
315
  declare const vertex: (x: X, c: NodeContext) => string;
269
- declare const compute: (x: X, _c: NodeContext) => string;
316
+ declare const compute: (x: X, c: NodeContext) => string;
270
317
 
271
318
  declare const node: <T extends Constants>(type: NodeTypes, props?: NodeProps | null, ...args: X[]) => NodeProxy<T>;
272
- declare const attribute: <T extends Constants>(x: X, id?: string) => NodeProxy<T>;
319
+ declare const attribute: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
273
320
  declare const constant: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
274
321
  declare const uniform: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
322
+ declare const storage: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
275
323
  declare const variable: <T extends Constants>(id?: string) => NodeProxy<T>;
276
324
  declare const builtin: <T extends Constants>(id?: string) => NodeProxy<T>;
277
325
  declare const vertexStage: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
278
326
  declare const member: <T extends Constants>(x: X, index: X) => NodeProxy<T>;
279
327
  declare const element: <T extends Constants>(x: X, index: X) => NodeProxy<T>;
328
+ declare const gather: <T extends Constants>(x: X, index: X) => NodeProxy<T>;
329
+ declare const scatter: <T extends Constants>(x: X, index: X) => NodeProxy<T>;
280
330
  declare const select: <T extends Constants>(x: X<T>, y: X<T>, z: X) => NodeProxy<T>;
281
331
  declare const operator: <T extends Constants>(key: Operators, ...x: X[]) => NodeProxy<T>;
282
332
  declare const function_: <T extends Constants>(key: Functions, ...x: X[]) => NodeProxy<T>;
283
333
  declare const conversion: <T extends Constants>(key: T, ...x: X[]) => NodeProxy<T>;
284
334
 
285
- declare const toVar: <T extends Constants>(x: X<T>, id?: string) => NodeProxy<T>;
286
- declare const assign: <T extends Constants>(x: X<T>, y: X<T>) => X<T>;
335
+ declare function toVar<T extends StructFields>(x: StructNode<T>, id?: string): StructNode<T>;
336
+ declare const assign: <T extends Constants>(x: NodeProxy<T>, isScatter: boolean | undefined, y: X<T>) => X<T>;
287
337
  declare const Return: <T extends Constants>(x: X<T>) => NodeProxy<T>;
288
- declare const struct: <T extends Record<string, NodeProxy>>(fields: T, id?: string) => (initialValues?: T, instanceId?: string) => BaseNodeProxy<string> & {
289
- [x: string]: any;
290
- } & {
291
- x: Float;
292
- y: Float;
293
- z: Float;
294
- w: Float;
295
- xx: Vec2;
296
- xy: Vec2;
297
- xz: Vec2;
298
- xw: Vec2;
299
- yx: Vec2;
300
- yy: Vec2;
301
- yz: Vec2;
302
- yw: Vec2;
303
- zx: Vec2;
304
- zy: Vec2;
305
- zz: Vec2;
306
- zw: Vec2;
307
- wx: Vec2;
308
- wy: Vec2;
309
- wz: Vec2;
310
- ww: Vec2;
311
- xxx: Vec3;
312
- xxy: Vec3;
313
- xxz: Vec3;
314
- xxw: Vec3;
315
- xyx: Vec3;
316
- xyy: Vec3;
317
- xyz: Vec3;
318
- xyw: Vec3;
319
- xzx: Vec3;
320
- xzy: Vec3;
321
- xzz: Vec3;
322
- xzw: Vec3;
323
- xwx: Vec3;
324
- xwy: Vec3;
325
- xwz: Vec3;
326
- xww: Vec3;
327
- yxx: Vec3;
328
- yxy: Vec3;
329
- yxz: Vec3;
330
- yxw: Vec3;
331
- yyx: Vec3;
332
- yyy: Vec3;
333
- yyz: Vec3;
334
- yyw: Vec3;
335
- yzx: Vec3;
336
- yzy: Vec3;
337
- yzz: Vec3;
338
- yzw: Vec3;
339
- ywx: Vec3;
340
- ywy: Vec3;
341
- ywz: Vec3;
342
- yww: Vec3;
343
- zxx: Vec3;
344
- zxy: Vec3;
345
- zxz: Vec3;
346
- zxw: Vec3;
347
- zyx: Vec3;
348
- zyy: Vec3;
349
- zyz: Vec3;
350
- zyw: Vec3;
351
- zzx: Vec3;
352
- zzy: Vec3;
353
- zzz: Vec3;
354
- zzw: Vec3;
355
- zwx: Vec3;
356
- zwy: Vec3;
357
- zwz: Vec3;
358
- zww: Vec3;
359
- wxx: Vec3;
360
- wxy: Vec3;
361
- wxz: Vec3;
362
- wxw: Vec3;
363
- wyx: Vec3;
364
- wyy: Vec3;
365
- wyz: Vec3;
366
- wyw: Vec3;
367
- wzx: Vec3;
368
- wzy: Vec3;
369
- wzz: Vec3;
370
- wzw: Vec3;
371
- wwx: Vec3;
372
- wwy: Vec3;
373
- wwz: Vec3;
374
- www: Vec3;
375
- xxxx: Vec4;
376
- xxxy: Vec4;
377
- xxxz: Vec4;
378
- xxxw: Vec4;
379
- xxyx: Vec4;
380
- xxyy: Vec4;
381
- xxyz: Vec4;
382
- xxyw: Vec4;
383
- xxzx: Vec4;
384
- xxzy: Vec4;
385
- xxzz: Vec4;
386
- xxzw: Vec4;
387
- xxwx: Vec4;
388
- xxwy: Vec4;
389
- xxwz: Vec4;
390
- xxww: Vec4;
391
- xyxx: Vec4;
392
- xyxy: Vec4;
393
- xyxz: Vec4;
394
- xyxw: Vec4;
395
- xyyx: Vec4;
396
- xyyy: Vec4;
397
- xyyz: Vec4;
398
- xyyw: Vec4;
399
- xyzx: Vec4;
400
- xyzy: Vec4;
401
- xyzz: Vec4;
402
- xyzw: Vec4;
403
- xywx: Vec4;
404
- xywy: Vec4;
405
- xywz: Vec4;
406
- xyww: Vec4;
407
- xzxx: Vec4;
408
- xzxy: Vec4;
409
- xzxz: Vec4;
410
- xzxw: Vec4;
411
- xzyx: Vec4;
412
- xzyy: Vec4;
413
- xzyz: Vec4;
414
- xzyw: Vec4;
415
- xzzx: Vec4;
416
- xzzy: Vec4;
417
- xzzz: Vec4;
418
- xzzw: Vec4;
419
- xzwx: Vec4;
420
- xzwy: Vec4;
421
- xzwz: Vec4;
422
- xzww: Vec4;
423
- xwxx: Vec4;
424
- xwxy: Vec4;
425
- xwxz: Vec4;
426
- xwxw: Vec4;
427
- xwyx: Vec4;
428
- xwyy: Vec4;
429
- xwyz: Vec4;
430
- xwyw: Vec4;
431
- xwzx: Vec4;
432
- xwzy: Vec4;
433
- xwzz: Vec4;
434
- xwzw: Vec4;
435
- xwwx: Vec4;
436
- xwwy: Vec4;
437
- xwwz: Vec4;
438
- xwww: Vec4;
439
- yxxx: Vec4;
440
- yxxy: Vec4;
441
- yxxz: Vec4;
442
- yxxw: Vec4;
443
- yxyx: Vec4;
444
- yxyy: Vec4;
445
- yxyz: Vec4;
446
- yxyw: Vec4;
447
- yxzx: Vec4;
448
- yxzy: Vec4;
449
- yxzz: Vec4;
450
- yxzw: Vec4;
451
- yxwx: Vec4;
452
- yxwy: Vec4;
453
- yxwz: Vec4;
454
- yxww: Vec4;
455
- yyxx: Vec4;
456
- yyxy: Vec4;
457
- yyxz: Vec4;
458
- yyxw: Vec4;
459
- yyyx: Vec4;
460
- yyyy: Vec4;
461
- yyyz: Vec4;
462
- yyyw: Vec4;
463
- yyzx: Vec4;
464
- yyzy: Vec4;
465
- yyzz: Vec4;
466
- yyzw: Vec4;
467
- yywx: Vec4;
468
- yywy: Vec4;
469
- yywz: Vec4;
470
- yyww: Vec4;
471
- yzxx: Vec4;
472
- yzxy: Vec4;
473
- yzxz: Vec4;
474
- yzxw: Vec4;
475
- yzyx: Vec4;
476
- yzyy: Vec4;
477
- yzyz: Vec4;
478
- yzyw: Vec4;
479
- yzzx: Vec4;
480
- yzzy: Vec4;
481
- yzzz: Vec4;
482
- yzzw: Vec4;
483
- yzwx: Vec4;
484
- yzwy: Vec4;
485
- yzwz: Vec4;
486
- yzww: Vec4;
487
- ywxx: Vec4;
488
- ywxy: Vec4;
489
- ywxz: Vec4;
490
- ywxw: Vec4;
491
- ywyx: Vec4;
492
- ywyy: Vec4;
493
- ywyz: Vec4;
494
- ywyw: Vec4;
495
- ywzx: Vec4;
496
- ywzy: Vec4;
497
- ywzz: Vec4;
498
- ywzw: Vec4;
499
- ywwx: Vec4;
500
- ywwy: Vec4;
501
- ywwz: Vec4;
502
- ywww: Vec4;
503
- zxxx: Vec4;
504
- zxxy: Vec4;
505
- zxxz: Vec4;
506
- zxxw: Vec4;
507
- zxyx: Vec4;
508
- zxyy: Vec4;
509
- zxyz: Vec4;
510
- zxyw: Vec4;
511
- zxzx: Vec4;
512
- zxzy: Vec4;
513
- zxzz: Vec4;
514
- zxzw: Vec4;
515
- zxwx: Vec4;
516
- zxwy: Vec4;
517
- zxwz: Vec4;
518
- zxww: Vec4;
519
- zyxx: Vec4;
520
- zyxy: Vec4;
521
- zyxz: Vec4;
522
- zyxw: Vec4;
523
- zyyx: Vec4;
524
- zyyy: Vec4;
525
- zyyz: Vec4;
526
- zyyw: Vec4;
527
- zyzx: Vec4;
528
- zyzy: Vec4;
529
- zyzz: Vec4;
530
- zyzw: Vec4;
531
- zywx: Vec4;
532
- zywy: Vec4;
533
- zywz: Vec4;
534
- zyww: Vec4;
535
- zzxx: Vec4;
536
- zzxy: Vec4;
537
- zzxz: Vec4;
538
- zzxw: Vec4;
539
- zzyx: Vec4;
540
- zzyy: Vec4;
541
- zzyz: Vec4;
542
- zzyw: Vec4;
543
- zzzx: Vec4;
544
- zzzy: Vec4;
545
- zzzz: Vec4;
546
- zzzw: Vec4;
547
- zzwx: Vec4;
548
- zzwy: Vec4;
549
- zzwz: Vec4;
550
- zzww: Vec4;
551
- zwxx: Vec4;
552
- zwxy: Vec4;
553
- zwxz: Vec4;
554
- zwxw: Vec4;
555
- zwyx: Vec4;
556
- zwyy: Vec4;
557
- zwyz: Vec4;
558
- zwyw: Vec4;
559
- zwzx: Vec4;
560
- zwzy: Vec4;
561
- zwzz: Vec4;
562
- zwzw: Vec4;
563
- zwwx: Vec4;
564
- zwwy: Vec4;
565
- zwwz: Vec4;
566
- zwww: Vec4;
567
- wxxx: Vec4;
568
- wxxy: Vec4;
569
- wxxz: Vec4;
570
- wxxw: Vec4;
571
- wxyx: Vec4;
572
- wxyy: Vec4;
573
- wxyz: Vec4;
574
- wxyw: Vec4;
575
- wxzx: Vec4;
576
- wxzy: Vec4;
577
- wxzz: Vec4;
578
- wxzw: Vec4;
579
- wxwx: Vec4;
580
- wxwy: Vec4;
581
- wxwz: Vec4;
582
- wxww: Vec4;
583
- wyxx: Vec4;
584
- wyxy: Vec4;
585
- wyxz: Vec4;
586
- wyxw: Vec4;
587
- wyyx: Vec4;
588
- wyyy: Vec4;
589
- wyyz: Vec4;
590
- wyyw: Vec4;
591
- wyzx: Vec4;
592
- wyzy: Vec4;
593
- wyzz: Vec4;
594
- wyzw: Vec4;
595
- wywx: Vec4;
596
- wywy: Vec4;
597
- wywz: Vec4;
598
- wyww: Vec4;
599
- wzxx: Vec4;
600
- wzxy: Vec4;
601
- wzxz: Vec4;
602
- wzxw: Vec4;
603
- wzyx: Vec4;
604
- wzyy: Vec4;
605
- wzyz: Vec4;
606
- wzyw: Vec4;
607
- wzzx: Vec4;
608
- wzzy: Vec4;
609
- wzzz: Vec4;
610
- wzzw: Vec4;
611
- wzwx: Vec4;
612
- wzwy: Vec4;
613
- wzwz: Vec4;
614
- wzww: Vec4;
615
- wwxx: Vec4;
616
- wwxy: Vec4;
617
- wwxz: Vec4;
618
- wwxw: Vec4;
619
- wwyx: Vec4;
620
- wwyy: Vec4;
621
- wwyz: Vec4;
622
- wwyw: Vec4;
623
- wwzx: Vec4;
624
- wwzy: Vec4;
625
- wwzz: Vec4;
626
- wwzw: Vec4;
627
- wwwx: Vec4;
628
- wwwy: Vec4;
629
- wwwz: Vec4;
630
- wwww: Vec4;
631
- r: Float;
632
- g: Float;
633
- b: Float;
634
- a: Float;
635
- rr: Vec2;
636
- rg: Vec2;
637
- rb: Vec2;
638
- ra: Vec2;
639
- gr: Vec2;
640
- gg: Vec2;
641
- gb: Vec2;
642
- ga: Vec2;
643
- br: Vec2;
644
- bg: Vec2;
645
- bb: Vec2;
646
- ba: Vec2;
647
- ar: Vec2;
648
- ag: Vec2;
649
- ab: Vec2;
650
- aa: Vec2;
651
- rrr: Vec3;
652
- rrg: Vec3;
653
- rrb: Vec3;
654
- rra: Vec3;
655
- rgr: Vec3;
656
- rgg: Vec3;
657
- rgb: Vec3;
658
- rga: Vec3;
659
- rbr: Vec3;
660
- rbg: Vec3;
661
- rbb: Vec3;
662
- rba: Vec3;
663
- rar: Vec3;
664
- rag: Vec3;
665
- rab: Vec3;
666
- raa: Vec3;
667
- grr: Vec3;
668
- grg: Vec3;
669
- grb: Vec3;
670
- gra: Vec3;
671
- ggr: Vec3;
672
- ggg: Vec3;
673
- ggb: Vec3;
674
- gga: Vec3;
675
- gbr: Vec3;
676
- gbg: Vec3;
677
- gbb: Vec3;
678
- gba: Vec3;
679
- gar: Vec3;
680
- gag: Vec3;
681
- gab: Vec3;
682
- gaa: Vec3;
683
- brr: Vec3;
684
- brg: Vec3;
685
- brb: Vec3;
686
- bra: Vec3;
687
- bgr: Vec3;
688
- bgg: Vec3;
689
- bgb: Vec3;
690
- bga: Vec3;
691
- bbr: Vec3;
692
- bbg: Vec3;
693
- bbb: Vec3;
694
- bba: Vec3;
695
- bar: Vec3;
696
- bag: Vec3;
697
- bab: Vec3;
698
- baa: Vec3;
699
- arr: Vec3;
700
- arg: Vec3;
701
- arb: Vec3;
702
- ara: Vec3;
703
- agr: Vec3;
704
- agg: Vec3;
705
- agb: Vec3;
706
- aga: Vec3;
707
- abr: Vec3;
708
- abg: Vec3;
709
- abb: Vec3;
710
- aba: Vec3;
711
- aar: Vec3;
712
- aag: Vec3;
713
- aab: Vec3;
714
- aaa: Vec3;
715
- rrrr: Vec4;
716
- rrrg: Vec4;
717
- rrrb: Vec4;
718
- rrra: Vec4;
719
- rrgr: Vec4;
720
- rrgg: Vec4;
721
- rrgb: Vec4;
722
- rrga: Vec4;
723
- rrbr: Vec4;
724
- rrbg: Vec4;
725
- rrbb: Vec4;
726
- rrba: Vec4;
727
- rrar: Vec4;
728
- rrag: Vec4;
729
- rrab: Vec4;
730
- rraa: Vec4;
731
- rgrr: Vec4;
732
- rgrg: Vec4;
733
- rgrb: Vec4;
734
- rgra: Vec4;
735
- rggr: Vec4;
736
- rggg: Vec4;
737
- rggb: Vec4;
738
- rgga: Vec4;
739
- rgbr: Vec4;
740
- rgbg: Vec4;
741
- rgbb: Vec4;
742
- rgba: Vec4;
743
- rgar: Vec4;
744
- rgag: Vec4;
745
- rgab: Vec4;
746
- rgaa: Vec4;
747
- rbrr: Vec4;
748
- rbrg: Vec4;
749
- rbrb: Vec4;
750
- rbra: Vec4;
751
- rbgr: Vec4;
752
- rbgg: Vec4;
753
- rbgb: Vec4;
754
- rbga: Vec4;
755
- rbbr: Vec4;
756
- rbbg: Vec4;
757
- rbbb: Vec4;
758
- rbba: Vec4;
759
- rbar: Vec4;
760
- rbag: Vec4;
761
- rbab: Vec4;
762
- rbaa: Vec4;
763
- rarr: Vec4;
764
- rarg: Vec4;
765
- rarb: Vec4;
766
- rara: Vec4;
767
- ragr: Vec4;
768
- ragg: Vec4;
769
- ragb: Vec4;
770
- raga: Vec4;
771
- rabr: Vec4;
772
- rabg: Vec4;
773
- rabb: Vec4;
774
- raba: Vec4;
775
- raar: Vec4;
776
- raag: Vec4;
777
- raab: Vec4;
778
- raaa: Vec4;
779
- grrr: Vec4;
780
- grrg: Vec4;
781
- grrb: Vec4;
782
- grra: Vec4;
783
- grgr: Vec4;
784
- grgg: Vec4;
785
- grgb: Vec4;
786
- grga: Vec4;
787
- grbr: Vec4;
788
- grbg: Vec4;
789
- grbb: Vec4;
790
- grba: Vec4;
791
- grar: Vec4;
792
- grag: Vec4;
793
- grab: Vec4;
794
- graa: Vec4;
795
- ggrr: Vec4;
796
- ggrg: Vec4;
797
- ggrb: Vec4;
798
- ggra: Vec4;
799
- gggr: Vec4;
800
- gggg: Vec4;
801
- gggb: Vec4;
802
- ggga: Vec4;
803
- ggbr: Vec4;
804
- ggbg: Vec4;
805
- ggbb: Vec4;
806
- ggba: Vec4;
807
- ggar: Vec4;
808
- ggag: Vec4;
809
- ggab: Vec4;
810
- ggaa: Vec4;
811
- gbrr: Vec4;
812
- gbrg: Vec4;
813
- gbrb: Vec4;
814
- gbra: Vec4;
815
- gbgr: Vec4;
816
- gbgg: Vec4;
817
- gbgb: Vec4;
818
- gbga: Vec4;
819
- gbbr: Vec4;
820
- gbbg: Vec4;
821
- gbbb: Vec4;
822
- gbba: Vec4;
823
- gbar: Vec4;
824
- gbag: Vec4;
825
- gbab: Vec4;
826
- gbaa: Vec4;
827
- garr: Vec4;
828
- garg: Vec4;
829
- garb: Vec4;
830
- gara: Vec4;
831
- gagr: Vec4;
832
- gagg: Vec4;
833
- gagb: Vec4;
834
- gaga: Vec4;
835
- gabr: Vec4;
836
- gabg: Vec4;
837
- gabb: Vec4;
838
- gaba: Vec4;
839
- gaar: Vec4;
840
- gaag: Vec4;
841
- gaab: Vec4;
842
- gaaa: Vec4;
843
- brrr: Vec4;
844
- brrg: Vec4;
845
- brrb: Vec4;
846
- brra: Vec4;
847
- brgr: Vec4;
848
- brgg: Vec4;
849
- brgb: Vec4;
850
- brga: Vec4;
851
- brbr: Vec4;
852
- brbg: Vec4;
853
- brbb: Vec4;
854
- brba: Vec4;
855
- brar: Vec4;
856
- brag: Vec4;
857
- brab: Vec4;
858
- braa: Vec4;
859
- bgrr: Vec4;
860
- bgrg: Vec4;
861
- bgrb: Vec4;
862
- bgra: Vec4;
863
- bggr: Vec4;
864
- bggg: Vec4;
865
- bggb: Vec4;
866
- bgga: Vec4;
867
- bgbr: Vec4;
868
- bgbg: Vec4;
869
- bgbb: Vec4;
870
- bgba: Vec4;
871
- bgar: Vec4;
872
- bgag: Vec4;
873
- bgab: Vec4;
874
- bgaa: Vec4;
875
- bbrr: Vec4;
876
- bbrg: Vec4;
877
- bbrb: Vec4;
878
- bbra: Vec4;
879
- bbgr: Vec4;
880
- bbgg: Vec4;
881
- bbgb: Vec4;
882
- bbga: Vec4;
883
- bbbr: Vec4;
884
- bbbg: Vec4;
885
- bbbb: Vec4;
886
- bbba: Vec4;
887
- bbar: Vec4;
888
- bbag: Vec4;
889
- bbab: Vec4;
890
- bbaa: Vec4;
891
- barr: Vec4;
892
- barg: Vec4;
893
- barb: Vec4;
894
- bara: Vec4;
895
- bagr: Vec4;
896
- bagg: Vec4;
897
- bagb: Vec4;
898
- baga: Vec4;
899
- babr: Vec4;
900
- babg: Vec4;
901
- babb: Vec4;
902
- baba: Vec4;
903
- baar: Vec4;
904
- baag: Vec4;
905
- baab: Vec4;
906
- baaa: Vec4;
907
- arrr: Vec4;
908
- arrg: Vec4;
909
- arrb: Vec4;
910
- arra: Vec4;
911
- argr: Vec4;
912
- argg: Vec4;
913
- argb: Vec4;
914
- arga: Vec4;
915
- arbr: Vec4;
916
- arbg: Vec4;
917
- arbb: Vec4;
918
- arba: Vec4;
919
- arar: Vec4;
920
- arag: Vec4;
921
- arab: Vec4;
922
- araa: Vec4;
923
- agrr: Vec4;
924
- agrg: Vec4;
925
- agrb: Vec4;
926
- agra: Vec4;
927
- aggr: Vec4;
928
- aggg: Vec4;
929
- aggb: Vec4;
930
- agga: Vec4;
931
- agbr: Vec4;
932
- agbg: Vec4;
933
- agbb: Vec4;
934
- agba: Vec4;
935
- agar: Vec4;
936
- agag: Vec4;
937
- agab: Vec4;
938
- agaa: Vec4;
939
- abrr: Vec4;
940
- abrg: Vec4;
941
- abrb: Vec4;
942
- abra: Vec4;
943
- abgr: Vec4;
944
- abgg: Vec4;
945
- abgb: Vec4;
946
- abga: Vec4;
947
- abbr: Vec4;
948
- abbg: Vec4;
949
- abbb: Vec4;
950
- abba: Vec4;
951
- abar: Vec4;
952
- abag: Vec4;
953
- abab: Vec4;
954
- abaa: Vec4;
955
- aarr: Vec4;
956
- aarg: Vec4;
957
- aarb: Vec4;
958
- aara: Vec4;
959
- aagr: Vec4;
960
- aagg: Vec4;
961
- aagb: Vec4;
962
- aaga: Vec4;
963
- aabr: Vec4;
964
- aabg: Vec4;
965
- aabb: Vec4;
966
- aaba: Vec4;
967
- aaar: Vec4;
968
- aaag: Vec4;
969
- aaab: Vec4;
970
- aaaa: Vec4;
971
- p: Float;
972
- q: Float;
973
- pp: Vec2;
974
- pq: Vec2;
975
- qp: Vec2;
976
- qq: Vec2;
977
- ppp: Vec3;
978
- ppq: Vec3;
979
- pqp: Vec3;
980
- pqq: Vec3;
981
- qpp: Vec3;
982
- qpq: Vec3;
983
- qqp: Vec3;
984
- qqq: Vec3;
985
- pppp: Vec4;
986
- pppq: Vec4;
987
- ppqp: Vec4;
988
- ppqq: Vec4;
989
- pqpp: Vec4;
990
- pqpq: Vec4;
991
- pqqp: Vec4;
992
- pqqq: Vec4;
993
- qppp: Vec4;
994
- qppq: Vec4;
995
- qpqp: Vec4;
996
- qpqq: Vec4;
997
- qqpp: Vec4;
998
- qqpq: Vec4;
999
- qqqp: Vec4;
1000
- qqqq: Vec4;
1001
- s: Float;
1002
- t: Float;
1003
- ss: Vec2;
1004
- st: Vec2;
1005
- ts: Vec2;
1006
- tt: Vec2;
1007
- sss: Vec3;
1008
- sst: Vec3;
1009
- sts: Vec3;
1010
- stt: Vec3;
1011
- tss: Vec3;
1012
- tst: Vec3;
1013
- tts: Vec3;
1014
- ttt: Vec3;
1015
- ssss: Vec4;
1016
- ssst: Vec4;
1017
- ssts: Vec4;
1018
- sstt: Vec4;
1019
- stss: Vec4;
1020
- stst: Vec4;
1021
- stts: Vec4;
1022
- sttt: Vec4;
1023
- tsss: Vec4;
1024
- tsst: Vec4;
1025
- tsts: Vec4;
1026
- tstt: Vec4;
1027
- ttss: Vec4;
1028
- ttst: Vec4;
1029
- ttts: Vec4;
1030
- tttt: Vec4;
1031
- };
338
+ declare const struct: <T extends StructFields>(fields: T, id?: string) => StructFactory<T>;
1032
339
  declare const If: (x: NodeProxy, fun: () => void) => {
1033
340
  ElseIf: (_x: X, _fun: () => void) => /*elided*/ any;
1034
341
  Else: (_fun: () => void) => void;
1035
342
  };
1036
343
  declare const Loop: (x: NodeProxy, fun: (params: {
1037
344
  i: Int;
1038
- }) => void) => BaseNodeProxy<string> & {
1039
- [x: string]: any;
1040
- } & {
1041
- x: Float;
1042
- y: Float;
1043
- z: Float;
1044
- w: Float;
1045
- xx: Vec2;
1046
- xy: Vec2;
1047
- xz: Vec2;
1048
- xw: Vec2;
1049
- yx: Vec2;
1050
- yy: Vec2;
1051
- yz: Vec2;
1052
- yw: Vec2;
1053
- zx: Vec2;
1054
- zy: Vec2;
1055
- zz: Vec2;
1056
- zw: Vec2;
1057
- wx: Vec2;
1058
- wy: Vec2;
1059
- wz: Vec2;
1060
- ww: Vec2;
1061
- xxx: Vec3;
1062
- xxy: Vec3;
1063
- xxz: Vec3;
1064
- xxw: Vec3;
1065
- xyx: Vec3;
1066
- xyy: Vec3;
1067
- xyz: Vec3;
1068
- xyw: Vec3;
1069
- xzx: Vec3;
1070
- xzy: Vec3;
1071
- xzz: Vec3;
1072
- xzw: Vec3;
1073
- xwx: Vec3;
1074
- xwy: Vec3;
1075
- xwz: Vec3;
1076
- xww: Vec3;
1077
- yxx: Vec3;
1078
- yxy: Vec3;
1079
- yxz: Vec3;
1080
- yxw: Vec3;
1081
- yyx: Vec3;
1082
- yyy: Vec3;
1083
- yyz: Vec3;
1084
- yyw: Vec3;
1085
- yzx: Vec3;
1086
- yzy: Vec3;
1087
- yzz: Vec3;
1088
- yzw: Vec3;
1089
- ywx: Vec3;
1090
- ywy: Vec3;
1091
- ywz: Vec3;
1092
- yww: Vec3;
1093
- zxx: Vec3;
1094
- zxy: Vec3;
1095
- zxz: Vec3;
1096
- zxw: Vec3;
1097
- zyx: Vec3;
1098
- zyy: Vec3;
1099
- zyz: Vec3;
1100
- zyw: Vec3;
1101
- zzx: Vec3;
1102
- zzy: Vec3;
1103
- zzz: Vec3;
1104
- zzw: Vec3;
1105
- zwx: Vec3;
1106
- zwy: Vec3;
1107
- zwz: Vec3;
1108
- zww: Vec3;
1109
- wxx: Vec3;
1110
- wxy: Vec3;
1111
- wxz: Vec3;
1112
- wxw: Vec3;
1113
- wyx: Vec3;
1114
- wyy: Vec3;
1115
- wyz: Vec3;
1116
- wyw: Vec3;
1117
- wzx: Vec3;
1118
- wzy: Vec3;
1119
- wzz: Vec3;
1120
- wzw: Vec3;
1121
- wwx: Vec3;
1122
- wwy: Vec3;
1123
- wwz: Vec3;
1124
- www: Vec3;
1125
- xxxx: Vec4;
1126
- xxxy: Vec4;
1127
- xxxz: Vec4;
1128
- xxxw: Vec4;
1129
- xxyx: Vec4;
1130
- xxyy: Vec4;
1131
- xxyz: Vec4;
1132
- xxyw: Vec4;
1133
- xxzx: Vec4;
1134
- xxzy: Vec4;
1135
- xxzz: Vec4;
1136
- xxzw: Vec4;
1137
- xxwx: Vec4;
1138
- xxwy: Vec4;
1139
- xxwz: Vec4;
1140
- xxww: Vec4;
1141
- xyxx: Vec4;
1142
- xyxy: Vec4;
1143
- xyxz: Vec4;
1144
- xyxw: Vec4;
1145
- xyyx: Vec4;
1146
- xyyy: Vec4;
1147
- xyyz: Vec4;
1148
- xyyw: Vec4;
1149
- xyzx: Vec4;
1150
- xyzy: Vec4;
1151
- xyzz: Vec4;
1152
- xyzw: Vec4;
1153
- xywx: Vec4;
1154
- xywy: Vec4;
1155
- xywz: Vec4;
1156
- xyww: Vec4;
1157
- xzxx: Vec4;
1158
- xzxy: Vec4;
1159
- xzxz: Vec4;
1160
- xzxw: Vec4;
1161
- xzyx: Vec4;
1162
- xzyy: Vec4;
1163
- xzyz: Vec4;
1164
- xzyw: Vec4;
1165
- xzzx: Vec4;
1166
- xzzy: Vec4;
1167
- xzzz: Vec4;
1168
- xzzw: Vec4;
1169
- xzwx: Vec4;
1170
- xzwy: Vec4;
1171
- xzwz: Vec4;
1172
- xzww: Vec4;
1173
- xwxx: Vec4;
1174
- xwxy: Vec4;
1175
- xwxz: Vec4;
1176
- xwxw: Vec4;
1177
- xwyx: Vec4;
1178
- xwyy: Vec4;
1179
- xwyz: Vec4;
1180
- xwyw: Vec4;
1181
- xwzx: Vec4;
1182
- xwzy: Vec4;
1183
- xwzz: Vec4;
1184
- xwzw: Vec4;
1185
- xwwx: Vec4;
1186
- xwwy: Vec4;
1187
- xwwz: Vec4;
1188
- xwww: Vec4;
1189
- yxxx: Vec4;
1190
- yxxy: Vec4;
1191
- yxxz: Vec4;
1192
- yxxw: Vec4;
1193
- yxyx: Vec4;
1194
- yxyy: Vec4;
1195
- yxyz: Vec4;
1196
- yxyw: Vec4;
1197
- yxzx: Vec4;
1198
- yxzy: Vec4;
1199
- yxzz: Vec4;
1200
- yxzw: Vec4;
1201
- yxwx: Vec4;
1202
- yxwy: Vec4;
1203
- yxwz: Vec4;
1204
- yxww: Vec4;
1205
- yyxx: Vec4;
1206
- yyxy: Vec4;
1207
- yyxz: Vec4;
1208
- yyxw: Vec4;
1209
- yyyx: Vec4;
1210
- yyyy: Vec4;
1211
- yyyz: Vec4;
1212
- yyyw: Vec4;
1213
- yyzx: Vec4;
1214
- yyzy: Vec4;
1215
- yyzz: Vec4;
1216
- yyzw: Vec4;
1217
- yywx: Vec4;
1218
- yywy: Vec4;
1219
- yywz: Vec4;
1220
- yyww: Vec4;
1221
- yzxx: Vec4;
1222
- yzxy: Vec4;
1223
- yzxz: Vec4;
1224
- yzxw: Vec4;
1225
- yzyx: Vec4;
1226
- yzyy: Vec4;
1227
- yzyz: Vec4;
1228
- yzyw: Vec4;
1229
- yzzx: Vec4;
1230
- yzzy: Vec4;
1231
- yzzz: Vec4;
1232
- yzzw: Vec4;
1233
- yzwx: Vec4;
1234
- yzwy: Vec4;
1235
- yzwz: Vec4;
1236
- yzww: Vec4;
1237
- ywxx: Vec4;
1238
- ywxy: Vec4;
1239
- ywxz: Vec4;
1240
- ywxw: Vec4;
1241
- ywyx: Vec4;
1242
- ywyy: Vec4;
1243
- ywyz: Vec4;
1244
- ywyw: Vec4;
1245
- ywzx: Vec4;
1246
- ywzy: Vec4;
1247
- ywzz: Vec4;
1248
- ywzw: Vec4;
1249
- ywwx: Vec4;
1250
- ywwy: Vec4;
1251
- ywwz: Vec4;
1252
- ywww: Vec4;
1253
- zxxx: Vec4;
1254
- zxxy: Vec4;
1255
- zxxz: Vec4;
1256
- zxxw: Vec4;
1257
- zxyx: Vec4;
1258
- zxyy: Vec4;
1259
- zxyz: Vec4;
1260
- zxyw: Vec4;
1261
- zxzx: Vec4;
1262
- zxzy: Vec4;
1263
- zxzz: Vec4;
1264
- zxzw: Vec4;
1265
- zxwx: Vec4;
1266
- zxwy: Vec4;
1267
- zxwz: Vec4;
1268
- zxww: Vec4;
1269
- zyxx: Vec4;
1270
- zyxy: Vec4;
1271
- zyxz: Vec4;
1272
- zyxw: Vec4;
1273
- zyyx: Vec4;
1274
- zyyy: Vec4;
1275
- zyyz: Vec4;
1276
- zyyw: Vec4;
1277
- zyzx: Vec4;
1278
- zyzy: Vec4;
1279
- zyzz: Vec4;
1280
- zyzw: Vec4;
1281
- zywx: Vec4;
1282
- zywy: Vec4;
1283
- zywz: Vec4;
1284
- zyww: Vec4;
1285
- zzxx: Vec4;
1286
- zzxy: Vec4;
1287
- zzxz: Vec4;
1288
- zzxw: Vec4;
1289
- zzyx: Vec4;
1290
- zzyy: Vec4;
1291
- zzyz: Vec4;
1292
- zzyw: Vec4;
1293
- zzzx: Vec4;
1294
- zzzy: Vec4;
1295
- zzzz: Vec4;
1296
- zzzw: Vec4;
1297
- zzwx: Vec4;
1298
- zzwy: Vec4;
1299
- zzwz: Vec4;
1300
- zzww: Vec4;
1301
- zwxx: Vec4;
1302
- zwxy: Vec4;
1303
- zwxz: Vec4;
1304
- zwxw: Vec4;
1305
- zwyx: Vec4;
1306
- zwyy: Vec4;
1307
- zwyz: Vec4;
1308
- zwyw: Vec4;
1309
- zwzx: Vec4;
1310
- zwzy: Vec4;
1311
- zwzz: Vec4;
1312
- zwzw: Vec4;
1313
- zwwx: Vec4;
1314
- zwwy: Vec4;
1315
- zwwz: Vec4;
1316
- zwww: Vec4;
1317
- wxxx: Vec4;
1318
- wxxy: Vec4;
1319
- wxxz: Vec4;
1320
- wxxw: Vec4;
1321
- wxyx: Vec4;
1322
- wxyy: Vec4;
1323
- wxyz: Vec4;
1324
- wxyw: Vec4;
1325
- wxzx: Vec4;
1326
- wxzy: Vec4;
1327
- wxzz: Vec4;
1328
- wxzw: Vec4;
1329
- wxwx: Vec4;
1330
- wxwy: Vec4;
1331
- wxwz: Vec4;
1332
- wxww: Vec4;
1333
- wyxx: Vec4;
1334
- wyxy: Vec4;
1335
- wyxz: Vec4;
1336
- wyxw: Vec4;
1337
- wyyx: Vec4;
1338
- wyyy: Vec4;
1339
- wyyz: Vec4;
1340
- wyyw: Vec4;
1341
- wyzx: Vec4;
1342
- wyzy: Vec4;
1343
- wyzz: Vec4;
1344
- wyzw: Vec4;
1345
- wywx: Vec4;
1346
- wywy: Vec4;
1347
- wywz: Vec4;
1348
- wyww: Vec4;
1349
- wzxx: Vec4;
1350
- wzxy: Vec4;
1351
- wzxz: Vec4;
1352
- wzxw: Vec4;
1353
- wzyx: Vec4;
1354
- wzyy: Vec4;
1355
- wzyz: Vec4;
1356
- wzyw: Vec4;
1357
- wzzx: Vec4;
1358
- wzzy: Vec4;
1359
- wzzz: Vec4;
1360
- wzzw: Vec4;
1361
- wzwx: Vec4;
1362
- wzwy: Vec4;
1363
- wzwz: Vec4;
1364
- wzww: Vec4;
1365
- wwxx: Vec4;
1366
- wwxy: Vec4;
1367
- wwxz: Vec4;
1368
- wwxw: Vec4;
1369
- wwyx: Vec4;
1370
- wwyy: Vec4;
1371
- wwyz: Vec4;
1372
- wwyw: Vec4;
1373
- wwzx: Vec4;
1374
- wwzy: Vec4;
1375
- wwzz: Vec4;
1376
- wwzw: Vec4;
1377
- wwwx: Vec4;
1378
- wwwy: Vec4;
1379
- wwwz: Vec4;
1380
- wwww: Vec4;
1381
- r: Float;
1382
- g: Float;
1383
- b: Float;
1384
- a: Float;
1385
- rr: Vec2;
1386
- rg: Vec2;
1387
- rb: Vec2;
1388
- ra: Vec2;
1389
- gr: Vec2;
1390
- gg: Vec2;
1391
- gb: Vec2;
1392
- ga: Vec2;
1393
- br: Vec2;
1394
- bg: Vec2;
1395
- bb: Vec2;
1396
- ba: Vec2;
1397
- ar: Vec2;
1398
- ag: Vec2;
1399
- ab: Vec2;
1400
- aa: Vec2;
1401
- rrr: Vec3;
1402
- rrg: Vec3;
1403
- rrb: Vec3;
1404
- rra: Vec3;
1405
- rgr: Vec3;
1406
- rgg: Vec3;
1407
- rgb: Vec3;
1408
- rga: Vec3;
1409
- rbr: Vec3;
1410
- rbg: Vec3;
1411
- rbb: Vec3;
1412
- rba: Vec3;
1413
- rar: Vec3;
1414
- rag: Vec3;
1415
- rab: Vec3;
1416
- raa: Vec3;
1417
- grr: Vec3;
1418
- grg: Vec3;
1419
- grb: Vec3;
1420
- gra: Vec3;
1421
- ggr: Vec3;
1422
- ggg: Vec3;
1423
- ggb: Vec3;
1424
- gga: Vec3;
1425
- gbr: Vec3;
1426
- gbg: Vec3;
1427
- gbb: Vec3;
1428
- gba: Vec3;
1429
- gar: Vec3;
1430
- gag: Vec3;
1431
- gab: Vec3;
1432
- gaa: Vec3;
1433
- brr: Vec3;
1434
- brg: Vec3;
1435
- brb: Vec3;
1436
- bra: Vec3;
1437
- bgr: Vec3;
1438
- bgg: Vec3;
1439
- bgb: Vec3;
1440
- bga: Vec3;
1441
- bbr: Vec3;
1442
- bbg: Vec3;
1443
- bbb: Vec3;
1444
- bba: Vec3;
1445
- bar: Vec3;
1446
- bag: Vec3;
1447
- bab: Vec3;
1448
- baa: Vec3;
1449
- arr: Vec3;
1450
- arg: Vec3;
1451
- arb: Vec3;
1452
- ara: Vec3;
1453
- agr: Vec3;
1454
- agg: Vec3;
1455
- agb: Vec3;
1456
- aga: Vec3;
1457
- abr: Vec3;
1458
- abg: Vec3;
1459
- abb: Vec3;
1460
- aba: Vec3;
1461
- aar: Vec3;
1462
- aag: Vec3;
1463
- aab: Vec3;
1464
- aaa: Vec3;
1465
- rrrr: Vec4;
1466
- rrrg: Vec4;
1467
- rrrb: Vec4;
1468
- rrra: Vec4;
1469
- rrgr: Vec4;
1470
- rrgg: Vec4;
1471
- rrgb: Vec4;
1472
- rrga: Vec4;
1473
- rrbr: Vec4;
1474
- rrbg: Vec4;
1475
- rrbb: Vec4;
1476
- rrba: Vec4;
1477
- rrar: Vec4;
1478
- rrag: Vec4;
1479
- rrab: Vec4;
1480
- rraa: Vec4;
1481
- rgrr: Vec4;
1482
- rgrg: Vec4;
1483
- rgrb: Vec4;
1484
- rgra: Vec4;
1485
- rggr: Vec4;
1486
- rggg: Vec4;
1487
- rggb: Vec4;
1488
- rgga: Vec4;
1489
- rgbr: Vec4;
1490
- rgbg: Vec4;
1491
- rgbb: Vec4;
1492
- rgba: Vec4;
1493
- rgar: Vec4;
1494
- rgag: Vec4;
1495
- rgab: Vec4;
1496
- rgaa: Vec4;
1497
- rbrr: Vec4;
1498
- rbrg: Vec4;
1499
- rbrb: Vec4;
1500
- rbra: Vec4;
1501
- rbgr: Vec4;
1502
- rbgg: Vec4;
1503
- rbgb: Vec4;
1504
- rbga: Vec4;
1505
- rbbr: Vec4;
1506
- rbbg: Vec4;
1507
- rbbb: Vec4;
1508
- rbba: Vec4;
1509
- rbar: Vec4;
1510
- rbag: Vec4;
1511
- rbab: Vec4;
1512
- rbaa: Vec4;
1513
- rarr: Vec4;
1514
- rarg: Vec4;
1515
- rarb: Vec4;
1516
- rara: Vec4;
1517
- ragr: Vec4;
1518
- ragg: Vec4;
1519
- ragb: Vec4;
1520
- raga: Vec4;
1521
- rabr: Vec4;
1522
- rabg: Vec4;
1523
- rabb: Vec4;
1524
- raba: Vec4;
1525
- raar: Vec4;
1526
- raag: Vec4;
1527
- raab: Vec4;
1528
- raaa: Vec4;
1529
- grrr: Vec4;
1530
- grrg: Vec4;
1531
- grrb: Vec4;
1532
- grra: Vec4;
1533
- grgr: Vec4;
1534
- grgg: Vec4;
1535
- grgb: Vec4;
1536
- grga: Vec4;
1537
- grbr: Vec4;
1538
- grbg: Vec4;
1539
- grbb: Vec4;
1540
- grba: Vec4;
1541
- grar: Vec4;
1542
- grag: Vec4;
1543
- grab: Vec4;
1544
- graa: Vec4;
1545
- ggrr: Vec4;
1546
- ggrg: Vec4;
1547
- ggrb: Vec4;
1548
- ggra: Vec4;
1549
- gggr: Vec4;
1550
- gggg: Vec4;
1551
- gggb: Vec4;
1552
- ggga: Vec4;
1553
- ggbr: Vec4;
1554
- ggbg: Vec4;
1555
- ggbb: Vec4;
1556
- ggba: Vec4;
1557
- ggar: Vec4;
1558
- ggag: Vec4;
1559
- ggab: Vec4;
1560
- ggaa: Vec4;
1561
- gbrr: Vec4;
1562
- gbrg: Vec4;
1563
- gbrb: Vec4;
1564
- gbra: Vec4;
1565
- gbgr: Vec4;
1566
- gbgg: Vec4;
1567
- gbgb: Vec4;
1568
- gbga: Vec4;
1569
- gbbr: Vec4;
1570
- gbbg: Vec4;
1571
- gbbb: Vec4;
1572
- gbba: Vec4;
1573
- gbar: Vec4;
1574
- gbag: Vec4;
1575
- gbab: Vec4;
1576
- gbaa: Vec4;
1577
- garr: Vec4;
1578
- garg: Vec4;
1579
- garb: Vec4;
1580
- gara: Vec4;
1581
- gagr: Vec4;
1582
- gagg: Vec4;
1583
- gagb: Vec4;
1584
- gaga: Vec4;
1585
- gabr: Vec4;
1586
- gabg: Vec4;
1587
- gabb: Vec4;
1588
- gaba: Vec4;
1589
- gaar: Vec4;
1590
- gaag: Vec4;
1591
- gaab: Vec4;
1592
- gaaa: Vec4;
1593
- brrr: Vec4;
1594
- brrg: Vec4;
1595
- brrb: Vec4;
1596
- brra: Vec4;
1597
- brgr: Vec4;
1598
- brgg: Vec4;
1599
- brgb: Vec4;
1600
- brga: Vec4;
1601
- brbr: Vec4;
1602
- brbg: Vec4;
1603
- brbb: Vec4;
1604
- brba: Vec4;
1605
- brar: Vec4;
1606
- brag: Vec4;
1607
- brab: Vec4;
1608
- braa: Vec4;
1609
- bgrr: Vec4;
1610
- bgrg: Vec4;
1611
- bgrb: Vec4;
1612
- bgra: Vec4;
1613
- bggr: Vec4;
1614
- bggg: Vec4;
1615
- bggb: Vec4;
1616
- bgga: Vec4;
1617
- bgbr: Vec4;
1618
- bgbg: Vec4;
1619
- bgbb: Vec4;
1620
- bgba: Vec4;
1621
- bgar: Vec4;
1622
- bgag: Vec4;
1623
- bgab: Vec4;
1624
- bgaa: Vec4;
1625
- bbrr: Vec4;
1626
- bbrg: Vec4;
1627
- bbrb: Vec4;
1628
- bbra: Vec4;
1629
- bbgr: Vec4;
1630
- bbgg: Vec4;
1631
- bbgb: Vec4;
1632
- bbga: Vec4;
1633
- bbbr: Vec4;
1634
- bbbg: Vec4;
1635
- bbbb: Vec4;
1636
- bbba: Vec4;
1637
- bbar: Vec4;
1638
- bbag: Vec4;
1639
- bbab: Vec4;
1640
- bbaa: Vec4;
1641
- barr: Vec4;
1642
- barg: Vec4;
1643
- barb: Vec4;
1644
- bara: Vec4;
1645
- bagr: Vec4;
1646
- bagg: Vec4;
1647
- bagb: Vec4;
1648
- baga: Vec4;
1649
- babr: Vec4;
1650
- babg: Vec4;
1651
- babb: Vec4;
1652
- baba: Vec4;
1653
- baar: Vec4;
1654
- baag: Vec4;
1655
- baab: Vec4;
1656
- baaa: Vec4;
1657
- arrr: Vec4;
1658
- arrg: Vec4;
1659
- arrb: Vec4;
1660
- arra: Vec4;
1661
- argr: Vec4;
1662
- argg: Vec4;
1663
- argb: Vec4;
1664
- arga: Vec4;
1665
- arbr: Vec4;
1666
- arbg: Vec4;
1667
- arbb: Vec4;
1668
- arba: Vec4;
1669
- arar: Vec4;
1670
- arag: Vec4;
1671
- arab: Vec4;
1672
- araa: Vec4;
1673
- agrr: Vec4;
1674
- agrg: Vec4;
1675
- agrb: Vec4;
1676
- agra: Vec4;
1677
- aggr: Vec4;
1678
- aggg: Vec4;
1679
- aggb: Vec4;
1680
- agga: Vec4;
1681
- agbr: Vec4;
1682
- agbg: Vec4;
1683
- agbb: Vec4;
1684
- agba: Vec4;
1685
- agar: Vec4;
1686
- agag: Vec4;
1687
- agab: Vec4;
1688
- agaa: Vec4;
1689
- abrr: Vec4;
1690
- abrg: Vec4;
1691
- abrb: Vec4;
1692
- abra: Vec4;
1693
- abgr: Vec4;
1694
- abgg: Vec4;
1695
- abgb: Vec4;
1696
- abga: Vec4;
1697
- abbr: Vec4;
1698
- abbg: Vec4;
1699
- abbb: Vec4;
1700
- abba: Vec4;
1701
- abar: Vec4;
1702
- abag: Vec4;
1703
- abab: Vec4;
1704
- abaa: Vec4;
1705
- aarr: Vec4;
1706
- aarg: Vec4;
1707
- aarb: Vec4;
1708
- aara: Vec4;
1709
- aagr: Vec4;
1710
- aagg: Vec4;
1711
- aagb: Vec4;
1712
- aaga: Vec4;
1713
- aabr: Vec4;
1714
- aabg: Vec4;
1715
- aabb: Vec4;
1716
- aaba: Vec4;
1717
- aaar: Vec4;
1718
- aaag: Vec4;
1719
- aaab: Vec4;
1720
- aaaa: Vec4;
1721
- p: Float;
1722
- q: Float;
1723
- pp: Vec2;
1724
- pq: Vec2;
1725
- qp: Vec2;
1726
- qq: Vec2;
1727
- ppp: Vec3;
1728
- ppq: Vec3;
1729
- pqp: Vec3;
1730
- pqq: Vec3;
1731
- qpp: Vec3;
1732
- qpq: Vec3;
1733
- qqp: Vec3;
1734
- qqq: Vec3;
1735
- pppp: Vec4;
1736
- pppq: Vec4;
1737
- ppqp: Vec4;
1738
- ppqq: Vec4;
1739
- pqpp: Vec4;
1740
- pqpq: Vec4;
1741
- pqqp: Vec4;
1742
- pqqq: Vec4;
1743
- qppp: Vec4;
1744
- qppq: Vec4;
1745
- qpqp: Vec4;
1746
- qpqq: Vec4;
1747
- qqpp: Vec4;
1748
- qqpq: Vec4;
1749
- qqqp: Vec4;
1750
- qqqq: Vec4;
1751
- s: Float;
1752
- t: Float;
1753
- ss: Vec2;
1754
- st: Vec2;
1755
- ts: Vec2;
1756
- tt: Vec2;
1757
- sss: Vec3;
1758
- sst: Vec3;
1759
- sts: Vec3;
1760
- stt: Vec3;
1761
- tss: Vec3;
1762
- tst: Vec3;
1763
- tts: Vec3;
1764
- ttt: Vec3;
1765
- ssss: Vec4;
1766
- ssst: Vec4;
1767
- ssts: Vec4;
1768
- sstt: Vec4;
1769
- stss: Vec4;
1770
- stst: Vec4;
1771
- stts: Vec4;
1772
- sttt: Vec4;
1773
- tsss: Vec4;
1774
- tsst: Vec4;
1775
- tsts: Vec4;
1776
- tstt: Vec4;
1777
- ttss: Vec4;
1778
- ttst: Vec4;
1779
- ttts: Vec4;
1780
- tttt: Vec4;
1781
- };
345
+ }) => void) => Vec4 | Void | Texture | Bool | UInt | Int | Float | BVec2 | IVec2 | UVec2 | Vec2 | BVec3 | IVec3 | UVec3 | Vec3 | BVec4 | IVec4 | UVec4 | Color | Mat2 | Mat3 | Mat4 | Sampler2D | Struct;
1782
346
  declare const Switch: (x: NodeProxy) => {
1783
347
  Case: (...values: X[]) => (fun: () => void) => /*elided*/ any;
1784
348
  Default: (fun: () => void) => void;
1785
349
  };
1786
- declare const Fn: <ReturnType extends Constants, Args extends Constants[]>(fun: (paramVars: NodeProxy[]) => NodeProxy<ReturnType> | void, defaultId?: string) => {
1787
- (...args: X<Args[number]>[]): NodeProxy<ReturnType>;
1788
- setLayout(_layout: FnLayout): /*elided*/ any;
1789
- };
350
+ declare function Fn<T extends NodeProxy | StructNode | void, Args extends any[]>(fun: (args: Args) => T, defaultId?: string): Args extends readonly unknown[] ? FnType<T, Args> : never;
1790
351
 
1791
352
  declare const position: Vec4;
1792
353
  declare const vertexIndex: UInt;
@@ -1796,6 +357,7 @@ declare const fragDepth: Float;
1796
357
  declare const sampleIndex: UInt;
1797
358
  declare const sampleMask: UInt;
1798
359
  declare const pointCoord: Vec2;
360
+ declare const id: Vec3;
1799
361
  declare const positionLocal: Vec3;
1800
362
  declare const positionWorld: Vec3;
1801
363
  declare const positionView: Vec3;
@@ -1830,71 +392,73 @@ declare const iResolution: Vec2;
1830
392
  declare const iMouse: Vec2;
1831
393
  declare const iTime: Float;
1832
394
  declare const uv: Vec2;
1833
- declare const texture: (x: X, y: X, z?: X) => Vec4;
1834
- declare const cubeTexture: (x: X, y: X, z?: X) => Vec4;
1835
- declare const textureSize: (x: X, y?: X) => Vec4;
395
+ /**
396
+ * 1.1. unified with:
397
+ * 2.1. const.ts BUILTIN_VARIABLES and
398
+ * 3.1. types.ts BaseNodeProxy
399
+ */
400
+ declare const all: <T extends Constants>(x: X<T>) => Bool;
401
+ declare const any: <T extends Constants>(x: X<T>) => Bool;
1836
402
  declare const length: (x: X) => Float;
1837
403
  declare const lengthSq: (x: X) => Float;
1838
404
  declare const distance: (x: X, y: X) => Float;
1839
405
  declare const dot: (x: X, y: X) => Float;
1840
- declare const all: <T extends Constants>(x: X<T>) => Bool;
1841
- declare const any: <T extends Constants>(x: X<T>) => Bool;
1842
406
  declare const cross: (x: X<"vec3">, y: X<"vec3">) => Vec3;
407
+ declare const cubeTexture: (x: X, y: X, z?: X) => Vec4;
408
+ declare const texture: (x: X, y: X, z?: X) => Vec4;
409
+ declare const texelFetch: (x: X, y: X, z?: X) => Vec4;
410
+ declare const textureLod: (x: X, y: X, z?: X) => Vec4;
411
+ /**
412
+ * 1.2. unified with:
413
+ * 2.2. const.ts FUNCTIONS and
414
+ * 3.2. types.ts BaseNodeProxy
415
+ */
1843
416
  declare const abs: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1844
- declare const sign: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1845
- declare const floor: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1846
- declare const ceil: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1847
- declare const round: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1848
- declare const fract: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1849
- declare const trunc: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1850
- declare const sin: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1851
- declare const cos: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1852
- declare const tan: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1853
- declare const asin: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1854
417
  declare const acos: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1855
- declare const atan: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1856
- declare const sinh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1857
- declare const cosh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1858
- declare const tanh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1859
- declare const asinh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1860
418
  declare const acosh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
419
+ declare const asin: <T extends Constants>(x: X<T>) => NodeProxy<T>;
420
+ declare const asinh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
421
+ declare const atan: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1861
422
  declare const atanh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
423
+ declare const ceil: <T extends Constants>(x: X<T>) => NodeProxy<T>;
424
+ declare const cos: <T extends Constants>(x: X<T>) => NodeProxy<T>;
425
+ declare const cosh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
426
+ declare const dFdx: <T extends Constants>(x: X<T>) => NodeProxy<T>;
427
+ declare const dFdy: <T extends Constants>(x: X<T>) => NodeProxy<T>;
428
+ declare const degrees: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1862
429
  declare const exp: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1863
430
  declare const exp2: <T extends Constants>(x: X<T>) => NodeProxy<T>;
431
+ declare const floor: <T extends Constants>(x: X<T>) => NodeProxy<T>;
432
+ declare const fract: <T extends Constants>(x: X<T>) => NodeProxy<T>;
433
+ declare const fwidth: <T extends Constants>(x: X<T>) => NodeProxy<T>;
434
+ declare const inverseSqrt: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1864
435
  declare const log: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1865
436
  declare const log2: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1866
- declare const sqrt: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1867
- declare const inverseSqrt: <T extends Constants>(x: X<T>) => NodeProxy<T>;
437
+ declare const negate: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1868
438
  declare const normalize: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1869
439
  declare const oneMinus: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1870
- declare const saturate: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1871
- declare const negate: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1872
- declare const reciprocal: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1873
- declare const dFdx: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1874
- declare const dFdy: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1875
- declare const fwidth: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1876
- declare const degrees: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1877
440
  declare const radians: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1878
- declare const reflect: <T extends Constants>(I: X<T>, N: X) => NodeProxy<T>;
1879
- declare const refract: <T extends Constants>(I: X<T>, N: X, eta: X) => NodeProxy<T>;
1880
- declare const min: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
441
+ declare const reciprocal: <T extends Constants>(x: X<T>) => NodeProxy<T>;
442
+ declare const round: <T extends Constants>(x: X<T>) => NodeProxy<T>;
443
+ declare const saturate: <T extends Constants>(x: X<T>) => NodeProxy<T>;
444
+ declare const sign: <T extends Constants>(x: X<T>) => NodeProxy<T>;
445
+ declare const sin: <T extends Constants>(x: X<T>) => NodeProxy<T>;
446
+ declare const sinh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
447
+ declare const sqrt: <T extends Constants>(x: X<T>) => NodeProxy<T>;
448
+ declare const tan: <T extends Constants>(x: X<T>) => NodeProxy<T>;
449
+ declare const tanh: <T extends Constants>(x: X<T>) => NodeProxy<T>;
450
+ declare const trunc: <T extends Constants>(x: X<T>) => NodeProxy<T>;
451
+ declare const atan2: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
452
+ declare const clamp: <T extends Constants>(x: X<T>, y: X, z: X) => NodeProxy<T>;
1881
453
  declare const max: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
454
+ declare const min: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
1882
455
  declare const mix: <T extends Constants>(x: X<T>, y: X, a: X) => NodeProxy<T>;
1883
- declare const clamp: <T extends Constants>(x: X<T>, minVal: X, maxVal: X) => NodeProxy<T>;
1884
- declare const step: <T extends Constants>(edge: X, x: X<T>) => NodeProxy<T>;
1885
- declare const smoothstep: <T extends Constants>(e0: X, e1: X, x: X<T>) => NodeProxy<T>;
1886
- declare const atan2: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
1887
456
  declare const pow: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
1888
- declare const pow2: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1889
- declare const pow3: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1890
- declare const pow4: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1891
- declare const bitcast: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
1892
- declare const cbrt: <T extends Constants>(x: X<T>) => NodeProxy<T>;
1893
- declare const difference: <T extends Constants>(x: X<T>, y: X) => NodeProxy<T>;
1894
- declare const equals: (x: X, y: X) => Bool;
1895
- declare const faceforward: <T extends Constants>(N: X<T>, I: X, Nref: X) => NodeProxy<T>;
1896
- declare const transformDirection: <T extends Constants>(dir: X<T>, matrix: X) => NodeProxy<T>;
1897
- declare const mod: <T extends Constants>(x: NodeProxy<T>, y: X<T>) => NodeProxy<"texture" extends infer T_1 ? T_1 extends "texture" ? T_1 extends ("vec4" extends infer T_2 ? T_2 extends "vec4" ? T_2 extends T ? T_2 : T_2 extends "int" | "float" ? T : T extends "int" | "float" ? T_2 : T_2 extends "mat4" ? T extends "vec4" ? T : T_2 : T_2 extends "mat3" ? T extends "vec3" ? T : T_2 : T_2 extends "mat2" ? T extends "vec2" ? T : T_2 : T_2 extends "vec4" ? T extends "mat4" ? T_2 : T_2 : T_2 extends "vec3" ? T extends "mat3" ? T_2 : T_2 : T_2 extends "vec2" ? T extends "mat2" ? T_2 : T_2 : T_2 : never : never) ? T_1 : T_1 extends "int" | "float" ? "vec4" extends infer T_3 ? T_3 extends "vec4" ? T_3 extends T ? T_3 : T_3 extends "int" | "float" ? T : T extends "int" | "float" ? T_3 : T_3 extends "mat4" ? T extends "vec4" ? T : T_3 : T_3 extends "mat3" ? T extends "vec3" ? T : T_3 : T_3 extends "mat2" ? T extends "vec2" ? T : T_3 : T_3 extends "vec4" ? T extends "mat4" ? T_3 : T_3 : T_3 extends "vec3" ? T extends "mat3" ? T_3 : T_3 : T_3 extends "vec2" ? T extends "mat2" ? T_3 : T_3 : T_3 : never : never : ("vec4" extends infer T_4 ? T_4 extends "vec4" ? T_4 extends T ? T_4 : T_4 extends "int" | "float" ? T : T extends "int" | "float" ? T_4 : T_4 extends "mat4" ? T extends "vec4" ? T : T_4 : T_4 extends "mat3" ? T extends "vec3" ? T : T_4 : T_4 extends "mat2" ? T extends "vec2" ? T : T_4 : T_4 extends "vec4" ? T extends "mat4" ? T_4 : T_4 : T_4 extends "vec3" ? T extends "mat3" ? T_4 : T_4 : T_4 extends "vec2" ? T extends "mat2" ? T_4 : T_4 : T_4 : never : never) extends infer T_5 ? T_5 extends ("vec4" extends infer T_6 ? T_6 extends "vec4" ? T_6 extends T ? T_6 : T_6 extends "int" | "float" ? T : T extends "int" | "float" ? T_6 : T_6 extends "mat4" ? T extends "vec4" ? T : T_6 : T_6 extends "mat3" ? T extends "vec3" ? T : T_6 : T_6 extends "mat2" ? T extends "vec2" ? T : T_6 : T_6 extends "vec4" ? T extends "mat4" ? T_6 : T_6 : T_6 extends "vec3" ? T extends "mat3" ? T_6 : T_6 : T_6 extends "vec2" ? T extends "mat2" ? T_6 : T_6 : T_6 : never : never) ? T_5 extends "int" | "float" ? T_1 : T_1 extends "mat4" ? T_5 extends "vec4" ? T_5 : T_1 : T_1 extends "mat3" ? T_5 extends "vec3" ? T_5 : T_1 : T_1 extends "mat2" ? T_5 extends "vec2" ? T_5 : T_1 : T_1 extends "vec4" ? T_5 extends "mat4" ? T_1 : T_1 : T_1 extends "vec3" ? T_5 extends "mat3" ? T_1 : T_1 : T_1 extends "vec2" ? T_5 extends "mat2" ? T_1 : T_1 : T_1 : never : never : never : never> | NodeProxy<"vec4" extends infer T_7 ? T_7 extends "vec4" ? T_7 extends ("vec4" extends infer T_8 ? T_8 extends "vec4" ? T_8 extends T ? T_8 : T_8 extends "int" | "float" ? T : T extends "int" | "float" ? T_8 : T_8 extends "mat4" ? T extends "vec4" ? T : T_8 : T_8 extends "mat3" ? T extends "vec3" ? T : T_8 : T_8 extends "mat2" ? T extends "vec2" ? T : T_8 : T_8 extends "vec4" ? T extends "mat4" ? T_8 : T_8 : T_8 extends "vec3" ? T extends "mat3" ? T_8 : T_8 : T_8 extends "vec2" ? T extends "mat2" ? T_8 : T_8 : T_8 : never : never) ? T_7 : T_7 extends "int" | "float" ? "vec4" extends infer T_9 ? T_9 extends "vec4" ? T_9 extends T ? T_9 : T_9 extends "int" | "float" ? T : T extends "int" | "float" ? T_9 : T_9 extends "mat4" ? T extends "vec4" ? T : T_9 : T_9 extends "mat3" ? T extends "vec3" ? T : T_9 : T_9 extends "mat2" ? T extends "vec2" ? T : T_9 : T_9 extends "vec4" ? T extends "mat4" ? T_9 : T_9 : T_9 extends "vec3" ? T extends "mat3" ? T_9 : T_9 : T_9 extends "vec2" ? T extends "mat2" ? T_9 : T_9 : T_9 : never : never : ("vec4" extends infer T_10 ? T_10 extends "vec4" ? T_10 extends T ? T_10 : T_10 extends "int" | "float" ? T : T extends "int" | "float" ? T_10 : T_10 extends "mat4" ? T extends "vec4" ? T : T_10 : T_10 extends "mat3" ? T extends "vec3" ? T : T_10 : T_10 extends "mat2" ? T extends "vec2" ? T : T_10 : T_10 extends "vec4" ? T extends "mat4" ? T_10 : T_10 : T_10 extends "vec3" ? T extends "mat3" ? T_10 : T_10 : T_10 extends "vec2" ? T extends "mat2" ? T_10 : T_10 : T_10 : never : never) extends infer T_11 ? T_11 extends ("vec4" extends infer T_12 ? T_12 extends "vec4" ? T_12 extends T ? T_12 : T_12 extends "int" | "float" ? T : T extends "int" | "float" ? T_12 : T_12 extends "mat4" ? T extends "vec4" ? T : T_12 : T_12 extends "mat3" ? T extends "vec3" ? T : T_12 : T_12 extends "mat2" ? T extends "vec2" ? T : T_12 : T_12 extends "vec4" ? T extends "mat4" ? T_12 : T_12 : T_12 extends "vec3" ? T extends "mat3" ? T_12 : T_12 : T_12 extends "vec2" ? T extends "mat2" ? T_12 : T_12 : T_12 : never : never) ? T_11 extends "int" | "float" ? T_7 : T_7 extends "mat4" ? T_11 extends "vec4" ? T_11 : T_7 : T_7 extends "mat3" ? T_11 extends "vec3" ? T_11 : T_7 : T_7 extends "mat2" ? T_11 extends "vec2" ? T_11 : T_7 : T_7 extends "vec4" ? T_11 extends "mat4" ? T_7 : T_7 : T_7 extends "vec3" ? T_11 extends "mat3" ? T_7 : T_7 : T_7 extends "vec2" ? T_11 extends "mat2" ? T_7 : T_7 : T_7 : never : never : never : never> | NodeProxy<string extends infer T_13 ? T_13 extends string ? T_13 extends ("vec4" extends infer T_14 ? T_14 extends "vec4" ? T_14 extends T ? T_14 : T_14 extends "int" | "float" ? T : T extends "int" | "float" ? T_14 : T_14 extends "mat4" ? T extends "vec4" ? T : T_14 : T_14 extends "mat3" ? T extends "vec3" ? T : T_14 : T_14 extends "mat2" ? T extends "vec2" ? T : T_14 : T_14 extends "vec4" ? T extends "mat4" ? T_14 : T_14 : T_14 extends "vec3" ? T extends "mat3" ? T_14 : T_14 : T_14 extends "vec2" ? T extends "mat2" ? T_14 : T_14 : T_14 : never : never) ? T_13 : T_13 extends "int" | "float" ? "vec4" extends infer T_15 ? T_15 extends "vec4" ? T_15 extends T ? T_15 : T_15 extends "int" | "float" ? T : T extends "int" | "float" ? T_15 : T_15 extends "mat4" ? T extends "vec4" ? T : T_15 : T_15 extends "mat3" ? T extends "vec3" ? T : T_15 : T_15 extends "mat2" ? T extends "vec2" ? T : T_15 : T_15 extends "vec4" ? T extends "mat4" ? T_15 : T_15 : T_15 extends "vec3" ? T extends "mat3" ? T_15 : T_15 : T_15 extends "vec2" ? T extends "mat2" ? T_15 : T_15 : T_15 : never : never : ("vec4" extends infer T_16 ? T_16 extends "vec4" ? T_16 extends T ? T_16 : T_16 extends "int" | "float" ? T : T extends "int" | "float" ? T_16 : T_16 extends "mat4" ? T extends "vec4" ? T : T_16 : T_16 extends "mat3" ? T extends "vec3" ? T : T_16 : T_16 extends "mat2" ? T extends "vec2" ? T : T_16 : T_16 extends "vec4" ? T extends "mat4" ? T_16 : T_16 : T_16 extends "vec3" ? T extends "mat3" ? T_16 : T_16 : T_16 extends "vec2" ? T extends "mat2" ? T_16 : T_16 : T_16 : never : never) extends infer T_17 ? T_17 extends ("vec4" extends infer T_18 ? T_18 extends "vec4" ? T_18 extends T ? T_18 : T_18 extends "int" | "float" ? T : T extends "int" | "float" ? T_18 : T_18 extends "mat4" ? T extends "vec4" ? T : T_18 : T_18 extends "mat3" ? T extends "vec3" ? T : T_18 : T_18 extends "mat2" ? T extends "vec2" ? T : T_18 : T_18 extends "vec4" ? T extends "mat4" ? T_18 : T_18 : T_18 extends "vec3" ? T extends "mat3" ? T_18 : T_18 : T_18 extends "vec2" ? T extends "mat2" ? T_18 : T_18 : T_18 : never : never) ? T_17 extends "int" | "float" ? T_13 : T_13 extends "mat4" ? T_17 extends "vec4" ? T_17 : T_13 : T_13 extends "mat3" ? T_17 extends "vec3" ? T_17 : T_13 : T_13 extends "mat2" ? T_17 extends "vec2" ? T_17 : T_13 : T_13 extends "vec4" ? T_17 extends "mat4" ? T_13 : T_13 : T_13 extends "vec3" ? T_17 extends "mat3" ? T_13 : T_13 : T_13 extends "vec2" ? T_17 extends "mat2" ? T_13 : T_13 : T_13 : never : never : never : never> | NodeProxy<"bool" extends infer T_19 ? T_19 extends "bool" ? T_19 extends ("vec4" extends infer T_20 ? T_20 extends "vec4" ? T_20 extends T ? T_20 : T_20 extends "int" | "float" ? T : T extends "int" | "float" ? T_20 : T_20 extends "mat4" ? T extends "vec4" ? T : T_20 : T_20 extends "mat3" ? T extends "vec3" ? T : T_20 : T_20 extends "mat2" ? T extends "vec2" ? T : T_20 : T_20 extends "vec4" ? T extends "mat4" ? T_20 : T_20 : T_20 extends "vec3" ? T extends "mat3" ? T_20 : T_20 : T_20 extends "vec2" ? T extends "mat2" ? T_20 : T_20 : T_20 : never : never) ? T_19 : T_19 extends "int" | "float" ? "vec4" extends infer T_21 ? T_21 extends "vec4" ? T_21 extends T ? T_21 : T_21 extends "int" | "float" ? T : T extends "int" | "float" ? T_21 : T_21 extends "mat4" ? T extends "vec4" ? T : T_21 : T_21 extends "mat3" ? T extends "vec3" ? T : T_21 : T_21 extends "mat2" ? T extends "vec2" ? T : T_21 : T_21 extends "vec4" ? T extends "mat4" ? T_21 : T_21 : T_21 extends "vec3" ? T extends "mat3" ? T_21 : T_21 : T_21 extends "vec2" ? T extends "mat2" ? T_21 : T_21 : T_21 : never : never : ("vec4" extends infer T_22 ? T_22 extends "vec4" ? T_22 extends T ? T_22 : T_22 extends "int" | "float" ? T : T extends "int" | "float" ? T_22 : T_22 extends "mat4" ? T extends "vec4" ? T : T_22 : T_22 extends "mat3" ? T extends "vec3" ? T : T_22 : T_22 extends "mat2" ? T extends "vec2" ? T : T_22 : T_22 extends "vec4" ? T extends "mat4" ? T_22 : T_22 : T_22 extends "vec3" ? T extends "mat3" ? T_22 : T_22 : T_22 extends "vec2" ? T extends "mat2" ? T_22 : T_22 : T_22 : never : never) extends infer T_23 ? T_23 extends ("vec4" extends infer T_24 ? T_24 extends "vec4" ? T_24 extends T ? T_24 : T_24 extends "int" | "float" ? T : T extends "int" | "float" ? T_24 : T_24 extends "mat4" ? T extends "vec4" ? T : T_24 : T_24 extends "mat3" ? T extends "vec3" ? T : T_24 : T_24 extends "mat2" ? T extends "vec2" ? T : T_24 : T_24 extends "vec4" ? T extends "mat4" ? T_24 : T_24 : T_24 extends "vec3" ? T extends "mat3" ? T_24 : T_24 : T_24 extends "vec2" ? T extends "mat2" ? T_24 : T_24 : T_24 : never : never) ? T_23 extends "int" | "float" ? T_19 : T_19 extends "mat4" ? T_23 extends "vec4" ? T_23 : T_19 : T_19 extends "mat3" ? T_23 extends "vec3" ? T_23 : T_19 : T_19 extends "mat2" ? T_23 extends "vec2" ? T_23 : T_19 : T_19 extends "vec4" ? T_23 extends "mat4" ? T_19 : T_19 : T_19 extends "vec3" ? T_23 extends "mat3" ? T_19 : T_19 : T_19 extends "vec2" ? T_23 extends "mat2" ? T_19 : T_19 : T_19 : never : never : never : never> | NodeProxy<"uint" extends infer T_25 ? T_25 extends "uint" ? T_25 extends ("vec4" extends infer T_26 ? T_26 extends "vec4" ? T_26 extends T ? T_26 : T_26 extends "int" | "float" ? T : T extends "int" | "float" ? T_26 : T_26 extends "mat4" ? T extends "vec4" ? T : T_26 : T_26 extends "mat3" ? T extends "vec3" ? T : T_26 : T_26 extends "mat2" ? T extends "vec2" ? T : T_26 : T_26 extends "vec4" ? T extends "mat4" ? T_26 : T_26 : T_26 extends "vec3" ? T extends "mat3" ? T_26 : T_26 : T_26 extends "vec2" ? T extends "mat2" ? T_26 : T_26 : T_26 : never : never) ? T_25 : T_25 extends "int" | "float" ? "vec4" extends infer T_27 ? T_27 extends "vec4" ? T_27 extends T ? T_27 : T_27 extends "int" | "float" ? T : T extends "int" | "float" ? T_27 : T_27 extends "mat4" ? T extends "vec4" ? T : T_27 : T_27 extends "mat3" ? T extends "vec3" ? T : T_27 : T_27 extends "mat2" ? T extends "vec2" ? T : T_27 : T_27 extends "vec4" ? T extends "mat4" ? T_27 : T_27 : T_27 extends "vec3" ? T extends "mat3" ? T_27 : T_27 : T_27 extends "vec2" ? T extends "mat2" ? T_27 : T_27 : T_27 : never : never : ("vec4" extends infer T_28 ? T_28 extends "vec4" ? T_28 extends T ? T_28 : T_28 extends "int" | "float" ? T : T extends "int" | "float" ? T_28 : T_28 extends "mat4" ? T extends "vec4" ? T : T_28 : T_28 extends "mat3" ? T extends "vec3" ? T : T_28 : T_28 extends "mat2" ? T extends "vec2" ? T : T_28 : T_28 extends "vec4" ? T extends "mat4" ? T_28 : T_28 : T_28 extends "vec3" ? T extends "mat3" ? T_28 : T_28 : T_28 extends "vec2" ? T extends "mat2" ? T_28 : T_28 : T_28 : never : never) extends infer T_29 ? T_29 extends ("vec4" extends infer T_30 ? T_30 extends "vec4" ? T_30 extends T ? T_30 : T_30 extends "int" | "float" ? T : T extends "int" | "float" ? T_30 : T_30 extends "mat4" ? T extends "vec4" ? T : T_30 : T_30 extends "mat3" ? T extends "vec3" ? T : T_30 : T_30 extends "mat2" ? T extends "vec2" ? T : T_30 : T_30 extends "vec4" ? T extends "mat4" ? T_30 : T_30 : T_30 extends "vec3" ? T extends "mat3" ? T_30 : T_30 : T_30 extends "vec2" ? T extends "mat2" ? T_30 : T_30 : T_30 : never : never) ? T_29 extends "int" | "float" ? T_25 : T_25 extends "mat4" ? T_29 extends "vec4" ? T_29 : T_25 : T_25 extends "mat3" ? T_29 extends "vec3" ? T_29 : T_25 : T_25 extends "mat2" ? T_29 extends "vec2" ? T_29 : T_25 : T_25 extends "vec4" ? T_29 extends "mat4" ? T_25 : T_25 : T_25 extends "vec3" ? T_29 extends "mat3" ? T_25 : T_25 : T_25 extends "vec2" ? T_29 extends "mat2" ? T_25 : T_25 : T_25 : never : never : never : never> | NodeProxy<"int" extends infer T_31 ? T_31 extends "int" ? T_31 extends ("vec4" extends infer T_32 ? T_32 extends "vec4" ? T_32 extends T ? T_32 : T_32 extends "int" | "float" ? T : T extends "int" | "float" ? T_32 : T_32 extends "mat4" ? T extends "vec4" ? T : T_32 : T_32 extends "mat3" ? T extends "vec3" ? T : T_32 : T_32 extends "mat2" ? T extends "vec2" ? T : T_32 : T_32 extends "vec4" ? T extends "mat4" ? T_32 : T_32 : T_32 extends "vec3" ? T extends "mat3" ? T_32 : T_32 : T_32 extends "vec2" ? T extends "mat2" ? T_32 : T_32 : T_32 : never : never) ? T_31 : T_31 extends "int" | "float" ? "vec4" extends infer T_33 ? T_33 extends "vec4" ? T_33 extends T ? T_33 : T_33 extends "int" | "float" ? T : T extends "int" | "float" ? T_33 : T_33 extends "mat4" ? T extends "vec4" ? T : T_33 : T_33 extends "mat3" ? T extends "vec3" ? T : T_33 : T_33 extends "mat2" ? T extends "vec2" ? T : T_33 : T_33 extends "vec4" ? T extends "mat4" ? T_33 : T_33 : T_33 extends "vec3" ? T extends "mat3" ? T_33 : T_33 : T_33 extends "vec2" ? T extends "mat2" ? T_33 : T_33 : T_33 : never : never : ("vec4" extends infer T_34 ? T_34 extends "vec4" ? T_34 extends T ? T_34 : T_34 extends "int" | "float" ? T : T extends "int" | "float" ? T_34 : T_34 extends "mat4" ? T extends "vec4" ? T : T_34 : T_34 extends "mat3" ? T extends "vec3" ? T : T_34 : T_34 extends "mat2" ? T extends "vec2" ? T : T_34 : T_34 extends "vec4" ? T extends "mat4" ? T_34 : T_34 : T_34 extends "vec3" ? T extends "mat3" ? T_34 : T_34 : T_34 extends "vec2" ? T extends "mat2" ? T_34 : T_34 : T_34 : never : never) extends infer T_35 ? T_35 extends ("vec4" extends infer T_36 ? T_36 extends "vec4" ? T_36 extends T ? T_36 : T_36 extends "int" | "float" ? T : T extends "int" | "float" ? T_36 : T_36 extends "mat4" ? T extends "vec4" ? T : T_36 : T_36 extends "mat3" ? T extends "vec3" ? T : T_36 : T_36 extends "mat2" ? T extends "vec2" ? T : T_36 : T_36 extends "vec4" ? T extends "mat4" ? T_36 : T_36 : T_36 extends "vec3" ? T extends "mat3" ? T_36 : T_36 : T_36 extends "vec2" ? T extends "mat2" ? T_36 : T_36 : T_36 : never : never) ? T_35 extends "int" | "float" ? T_31 : T_31 extends "mat4" ? T_35 extends "vec4" ? T_35 : T_31 : T_31 extends "mat3" ? T_35 extends "vec3" ? T_35 : T_31 : T_31 extends "mat2" ? T_35 extends "vec2" ? T_35 : T_31 : T_31 extends "vec4" ? T_35 extends "mat4" ? T_31 : T_31 : T_31 extends "vec3" ? T_35 extends "mat3" ? T_31 : T_31 : T_31 extends "vec2" ? T_35 extends "mat2" ? T_31 : T_31 : T_31 : never : never : never : never> | NodeProxy<"float" extends infer T_37 ? T_37 extends "float" ? T_37 extends ("vec4" extends infer T_38 ? T_38 extends "vec4" ? T_38 extends T ? T_38 : T_38 extends "int" | "float" ? T : T extends "int" | "float" ? T_38 : T_38 extends "mat4" ? T extends "vec4" ? T : T_38 : T_38 extends "mat3" ? T extends "vec3" ? T : T_38 : T_38 extends "mat2" ? T extends "vec2" ? T : T_38 : T_38 extends "vec4" ? T extends "mat4" ? T_38 : T_38 : T_38 extends "vec3" ? T extends "mat3" ? T_38 : T_38 : T_38 extends "vec2" ? T extends "mat2" ? T_38 : T_38 : T_38 : never : never) ? T_37 : T_37 extends "int" | "float" ? "vec4" extends infer T_39 ? T_39 extends "vec4" ? T_39 extends T ? T_39 : T_39 extends "int" | "float" ? T : T extends "int" | "float" ? T_39 : T_39 extends "mat4" ? T extends "vec4" ? T : T_39 : T_39 extends "mat3" ? T extends "vec3" ? T : T_39 : T_39 extends "mat2" ? T extends "vec2" ? T : T_39 : T_39 extends "vec4" ? T extends "mat4" ? T_39 : T_39 : T_39 extends "vec3" ? T extends "mat3" ? T_39 : T_39 : T_39 extends "vec2" ? T extends "mat2" ? T_39 : T_39 : T_39 : never : never : ("vec4" extends infer T_40 ? T_40 extends "vec4" ? T_40 extends T ? T_40 : T_40 extends "int" | "float" ? T : T extends "int" | "float" ? T_40 : T_40 extends "mat4" ? T extends "vec4" ? T : T_40 : T_40 extends "mat3" ? T extends "vec3" ? T : T_40 : T_40 extends "mat2" ? T extends "vec2" ? T : T_40 : T_40 extends "vec4" ? T extends "mat4" ? T_40 : T_40 : T_40 extends "vec3" ? T extends "mat3" ? T_40 : T_40 : T_40 extends "vec2" ? T extends "mat2" ? T_40 : T_40 : T_40 : never : never) extends infer T_41 ? T_41 extends ("vec4" extends infer T_42 ? T_42 extends "vec4" ? T_42 extends T ? T_42 : T_42 extends "int" | "float" ? T : T extends "int" | "float" ? T_42 : T_42 extends "mat4" ? T extends "vec4" ? T : T_42 : T_42 extends "mat3" ? T extends "vec3" ? T : T_42 : T_42 extends "mat2" ? T extends "vec2" ? T : T_42 : T_42 extends "vec4" ? T extends "mat4" ? T_42 : T_42 : T_42 extends "vec3" ? T extends "mat3" ? T_42 : T_42 : T_42 extends "vec2" ? T extends "mat2" ? T_42 : T_42 : T_42 : never : never) ? T_41 extends "int" | "float" ? T_37 : T_37 extends "mat4" ? T_41 extends "vec4" ? T_41 : T_37 : T_37 extends "mat3" ? T_41 extends "vec3" ? T_41 : T_37 : T_37 extends "mat2" ? T_41 extends "vec2" ? T_41 : T_37 : T_37 extends "vec4" ? T_41 extends "mat4" ? T_37 : T_37 : T_37 extends "vec3" ? T_41 extends "mat3" ? T_37 : T_37 : T_37 extends "vec2" ? T_41 extends "mat2" ? T_37 : T_37 : T_37 : never : never : never : never> | NodeProxy<"bvec2" extends infer T_43 ? T_43 extends "bvec2" ? T_43 extends ("vec4" extends infer T_44 ? T_44 extends "vec4" ? T_44 extends T ? T_44 : T_44 extends "int" | "float" ? T : T extends "int" | "float" ? T_44 : T_44 extends "mat4" ? T extends "vec4" ? T : T_44 : T_44 extends "mat3" ? T extends "vec3" ? T : T_44 : T_44 extends "mat2" ? T extends "vec2" ? T : T_44 : T_44 extends "vec4" ? T extends "mat4" ? T_44 : T_44 : T_44 extends "vec3" ? T extends "mat3" ? T_44 : T_44 : T_44 extends "vec2" ? T extends "mat2" ? T_44 : T_44 : T_44 : never : never) ? T_43 : T_43 extends "int" | "float" ? "vec4" extends infer T_45 ? T_45 extends "vec4" ? T_45 extends T ? T_45 : T_45 extends "int" | "float" ? T : T extends "int" | "float" ? T_45 : T_45 extends "mat4" ? T extends "vec4" ? T : T_45 : T_45 extends "mat3" ? T extends "vec3" ? T : T_45 : T_45 extends "mat2" ? T extends "vec2" ? T : T_45 : T_45 extends "vec4" ? T extends "mat4" ? T_45 : T_45 : T_45 extends "vec3" ? T extends "mat3" ? T_45 : T_45 : T_45 extends "vec2" ? T extends "mat2" ? T_45 : T_45 : T_45 : never : never : ("vec4" extends infer T_46 ? T_46 extends "vec4" ? T_46 extends T ? T_46 : T_46 extends "int" | "float" ? T : T extends "int" | "float" ? T_46 : T_46 extends "mat4" ? T extends "vec4" ? T : T_46 : T_46 extends "mat3" ? T extends "vec3" ? T : T_46 : T_46 extends "mat2" ? T extends "vec2" ? T : T_46 : T_46 extends "vec4" ? T extends "mat4" ? T_46 : T_46 : T_46 extends "vec3" ? T extends "mat3" ? T_46 : T_46 : T_46 extends "vec2" ? T extends "mat2" ? T_46 : T_46 : T_46 : never : never) extends infer T_47 ? T_47 extends ("vec4" extends infer T_48 ? T_48 extends "vec4" ? T_48 extends T ? T_48 : T_48 extends "int" | "float" ? T : T extends "int" | "float" ? T_48 : T_48 extends "mat4" ? T extends "vec4" ? T : T_48 : T_48 extends "mat3" ? T extends "vec3" ? T : T_48 : T_48 extends "mat2" ? T extends "vec2" ? T : T_48 : T_48 extends "vec4" ? T extends "mat4" ? T_48 : T_48 : T_48 extends "vec3" ? T extends "mat3" ? T_48 : T_48 : T_48 extends "vec2" ? T extends "mat2" ? T_48 : T_48 : T_48 : never : never) ? T_47 extends "int" | "float" ? T_43 : T_43 extends "mat4" ? T_47 extends "vec4" ? T_47 : T_43 : T_43 extends "mat3" ? T_47 extends "vec3" ? T_47 : T_43 : T_43 extends "mat2" ? T_47 extends "vec2" ? T_47 : T_43 : T_43 extends "vec4" ? T_47 extends "mat4" ? T_43 : T_43 : T_43 extends "vec3" ? T_47 extends "mat3" ? T_43 : T_43 : T_43 extends "vec2" ? T_47 extends "mat2" ? T_43 : T_43 : T_43 : never : never : never : never> | NodeProxy<"ivec2" extends infer T_49 ? T_49 extends "ivec2" ? T_49 extends ("vec4" extends infer T_50 ? T_50 extends "vec4" ? T_50 extends T ? T_50 : T_50 extends "int" | "float" ? T : T extends "int" | "float" ? T_50 : T_50 extends "mat4" ? T extends "vec4" ? T : T_50 : T_50 extends "mat3" ? T extends "vec3" ? T : T_50 : T_50 extends "mat2" ? T extends "vec2" ? T : T_50 : T_50 extends "vec4" ? T extends "mat4" ? T_50 : T_50 : T_50 extends "vec3" ? T extends "mat3" ? T_50 : T_50 : T_50 extends "vec2" ? T extends "mat2" ? T_50 : T_50 : T_50 : never : never) ? T_49 : T_49 extends "int" | "float" ? "vec4" extends infer T_51 ? T_51 extends "vec4" ? T_51 extends T ? T_51 : T_51 extends "int" | "float" ? T : T extends "int" | "float" ? T_51 : T_51 extends "mat4" ? T extends "vec4" ? T : T_51 : T_51 extends "mat3" ? T extends "vec3" ? T : T_51 : T_51 extends "mat2" ? T extends "vec2" ? T : T_51 : T_51 extends "vec4" ? T extends "mat4" ? T_51 : T_51 : T_51 extends "vec3" ? T extends "mat3" ? T_51 : T_51 : T_51 extends "vec2" ? T extends "mat2" ? T_51 : T_51 : T_51 : never : never : ("vec4" extends infer T_52 ? T_52 extends "vec4" ? T_52 extends T ? T_52 : T_52 extends "int" | "float" ? T : T extends "int" | "float" ? T_52 : T_52 extends "mat4" ? T extends "vec4" ? T : T_52 : T_52 extends "mat3" ? T extends "vec3" ? T : T_52 : T_52 extends "mat2" ? T extends "vec2" ? T : T_52 : T_52 extends "vec4" ? T extends "mat4" ? T_52 : T_52 : T_52 extends "vec3" ? T extends "mat3" ? T_52 : T_52 : T_52 extends "vec2" ? T extends "mat2" ? T_52 : T_52 : T_52 : never : never) extends infer T_53 ? T_53 extends ("vec4" extends infer T_54 ? T_54 extends "vec4" ? T_54 extends T ? T_54 : T_54 extends "int" | "float" ? T : T extends "int" | "float" ? T_54 : T_54 extends "mat4" ? T extends "vec4" ? T : T_54 : T_54 extends "mat3" ? T extends "vec3" ? T : T_54 : T_54 extends "mat2" ? T extends "vec2" ? T : T_54 : T_54 extends "vec4" ? T extends "mat4" ? T_54 : T_54 : T_54 extends "vec3" ? T extends "mat3" ? T_54 : T_54 : T_54 extends "vec2" ? T extends "mat2" ? T_54 : T_54 : T_54 : never : never) ? T_53 extends "int" | "float" ? T_49 : T_49 extends "mat4" ? T_53 extends "vec4" ? T_53 : T_49 : T_49 extends "mat3" ? T_53 extends "vec3" ? T_53 : T_49 : T_49 extends "mat2" ? T_53 extends "vec2" ? T_53 : T_49 : T_49 extends "vec4" ? T_53 extends "mat4" ? T_49 : T_49 : T_49 extends "vec3" ? T_53 extends "mat3" ? T_49 : T_49 : T_49 extends "vec2" ? T_53 extends "mat2" ? T_49 : T_49 : T_49 : never : never : never : never> | NodeProxy<"uvec2" extends infer T_55 ? T_55 extends "uvec2" ? T_55 extends ("vec4" extends infer T_56 ? T_56 extends "vec4" ? T_56 extends T ? T_56 : T_56 extends "int" | "float" ? T : T extends "int" | "float" ? T_56 : T_56 extends "mat4" ? T extends "vec4" ? T : T_56 : T_56 extends "mat3" ? T extends "vec3" ? T : T_56 : T_56 extends "mat2" ? T extends "vec2" ? T : T_56 : T_56 extends "vec4" ? T extends "mat4" ? T_56 : T_56 : T_56 extends "vec3" ? T extends "mat3" ? T_56 : T_56 : T_56 extends "vec2" ? T extends "mat2" ? T_56 : T_56 : T_56 : never : never) ? T_55 : T_55 extends "int" | "float" ? "vec4" extends infer T_57 ? T_57 extends "vec4" ? T_57 extends T ? T_57 : T_57 extends "int" | "float" ? T : T extends "int" | "float" ? T_57 : T_57 extends "mat4" ? T extends "vec4" ? T : T_57 : T_57 extends "mat3" ? T extends "vec3" ? T : T_57 : T_57 extends "mat2" ? T extends "vec2" ? T : T_57 : T_57 extends "vec4" ? T extends "mat4" ? T_57 : T_57 : T_57 extends "vec3" ? T extends "mat3" ? T_57 : T_57 : T_57 extends "vec2" ? T extends "mat2" ? T_57 : T_57 : T_57 : never : never : ("vec4" extends infer T_58 ? T_58 extends "vec4" ? T_58 extends T ? T_58 : T_58 extends "int" | "float" ? T : T extends "int" | "float" ? T_58 : T_58 extends "mat4" ? T extends "vec4" ? T : T_58 : T_58 extends "mat3" ? T extends "vec3" ? T : T_58 : T_58 extends "mat2" ? T extends "vec2" ? T : T_58 : T_58 extends "vec4" ? T extends "mat4" ? T_58 : T_58 : T_58 extends "vec3" ? T extends "mat3" ? T_58 : T_58 : T_58 extends "vec2" ? T extends "mat2" ? T_58 : T_58 : T_58 : never : never) extends infer T_59 ? T_59 extends ("vec4" extends infer T_60 ? T_60 extends "vec4" ? T_60 extends T ? T_60 : T_60 extends "int" | "float" ? T : T extends "int" | "float" ? T_60 : T_60 extends "mat4" ? T extends "vec4" ? T : T_60 : T_60 extends "mat3" ? T extends "vec3" ? T : T_60 : T_60 extends "mat2" ? T extends "vec2" ? T : T_60 : T_60 extends "vec4" ? T extends "mat4" ? T_60 : T_60 : T_60 extends "vec3" ? T extends "mat3" ? T_60 : T_60 : T_60 extends "vec2" ? T extends "mat2" ? T_60 : T_60 : T_60 : never : never) ? T_59 extends "int" | "float" ? T_55 : T_55 extends "mat4" ? T_59 extends "vec4" ? T_59 : T_55 : T_55 extends "mat3" ? T_59 extends "vec3" ? T_59 : T_55 : T_55 extends "mat2" ? T_59 extends "vec2" ? T_59 : T_55 : T_55 extends "vec4" ? T_59 extends "mat4" ? T_55 : T_55 : T_55 extends "vec3" ? T_59 extends "mat3" ? T_55 : T_55 : T_55 extends "vec2" ? T_59 extends "mat2" ? T_55 : T_55 : T_55 : never : never : never : never> | NodeProxy<"vec2" extends infer T_61 ? T_61 extends "vec2" ? T_61 extends ("vec4" extends infer T_62 ? T_62 extends "vec4" ? T_62 extends T ? T_62 : T_62 extends "int" | "float" ? T : T extends "int" | "float" ? T_62 : T_62 extends "mat4" ? T extends "vec4" ? T : T_62 : T_62 extends "mat3" ? T extends "vec3" ? T : T_62 : T_62 extends "mat2" ? T extends "vec2" ? T : T_62 : T_62 extends "vec4" ? T extends "mat4" ? T_62 : T_62 : T_62 extends "vec3" ? T extends "mat3" ? T_62 : T_62 : T_62 extends "vec2" ? T extends "mat2" ? T_62 : T_62 : T_62 : never : never) ? T_61 : T_61 extends "int" | "float" ? "vec4" extends infer T_63 ? T_63 extends "vec4" ? T_63 extends T ? T_63 : T_63 extends "int" | "float" ? T : T extends "int" | "float" ? T_63 : T_63 extends "mat4" ? T extends "vec4" ? T : T_63 : T_63 extends "mat3" ? T extends "vec3" ? T : T_63 : T_63 extends "mat2" ? T extends "vec2" ? T : T_63 : T_63 extends "vec4" ? T extends "mat4" ? T_63 : T_63 : T_63 extends "vec3" ? T extends "mat3" ? T_63 : T_63 : T_63 extends "vec2" ? T extends "mat2" ? T_63 : T_63 : T_63 : never : never : ("vec4" extends infer T_64 ? T_64 extends "vec4" ? T_64 extends T ? T_64 : T_64 extends "int" | "float" ? T : T extends "int" | "float" ? T_64 : T_64 extends "mat4" ? T extends "vec4" ? T : T_64 : T_64 extends "mat3" ? T extends "vec3" ? T : T_64 : T_64 extends "mat2" ? T extends "vec2" ? T : T_64 : T_64 extends "vec4" ? T extends "mat4" ? T_64 : T_64 : T_64 extends "vec3" ? T extends "mat3" ? T_64 : T_64 : T_64 extends "vec2" ? T extends "mat2" ? T_64 : T_64 : T_64 : never : never) extends infer T_65 ? T_65 extends ("vec4" extends infer T_66 ? T_66 extends "vec4" ? T_66 extends T ? T_66 : T_66 extends "int" | "float" ? T : T extends "int" | "float" ? T_66 : T_66 extends "mat4" ? T extends "vec4" ? T : T_66 : T_66 extends "mat3" ? T extends "vec3" ? T : T_66 : T_66 extends "mat2" ? T extends "vec2" ? T : T_66 : T_66 extends "vec4" ? T extends "mat4" ? T_66 : T_66 : T_66 extends "vec3" ? T extends "mat3" ? T_66 : T_66 : T_66 extends "vec2" ? T extends "mat2" ? T_66 : T_66 : T_66 : never : never) ? T_65 extends "int" | "float" ? T_61 : T_61 extends "mat4" ? T_65 extends "vec4" ? T_65 : T_61 : T_61 extends "mat3" ? T_65 extends "vec3" ? T_65 : T_61 : T_61 extends "mat2" ? T_65 extends "vec2" ? T_65 : T_61 : T_61 extends "vec4" ? T_65 extends "mat4" ? T_61 : T_61 : T_61 extends "vec3" ? T_65 extends "mat3" ? T_61 : T_61 : T_61 extends "vec2" ? T_65 extends "mat2" ? T_61 : T_61 : T_61 : never : never : never : never> | NodeProxy<"bvec3" extends infer T_67 ? T_67 extends "bvec3" ? T_67 extends ("vec4" extends infer T_68 ? T_68 extends "vec4" ? T_68 extends T ? T_68 : T_68 extends "int" | "float" ? T : T extends "int" | "float" ? T_68 : T_68 extends "mat4" ? T extends "vec4" ? T : T_68 : T_68 extends "mat3" ? T extends "vec3" ? T : T_68 : T_68 extends "mat2" ? T extends "vec2" ? T : T_68 : T_68 extends "vec4" ? T extends "mat4" ? T_68 : T_68 : T_68 extends "vec3" ? T extends "mat3" ? T_68 : T_68 : T_68 extends "vec2" ? T extends "mat2" ? T_68 : T_68 : T_68 : never : never) ? T_67 : T_67 extends "int" | "float" ? "vec4" extends infer T_69 ? T_69 extends "vec4" ? T_69 extends T ? T_69 : T_69 extends "int" | "float" ? T : T extends "int" | "float" ? T_69 : T_69 extends "mat4" ? T extends "vec4" ? T : T_69 : T_69 extends "mat3" ? T extends "vec3" ? T : T_69 : T_69 extends "mat2" ? T extends "vec2" ? T : T_69 : T_69 extends "vec4" ? T extends "mat4" ? T_69 : T_69 : T_69 extends "vec3" ? T extends "mat3" ? T_69 : T_69 : T_69 extends "vec2" ? T extends "mat2" ? T_69 : T_69 : T_69 : never : never : ("vec4" extends infer T_70 ? T_70 extends "vec4" ? T_70 extends T ? T_70 : T_70 extends "int" | "float" ? T : T extends "int" | "float" ? T_70 : T_70 extends "mat4" ? T extends "vec4" ? T : T_70 : T_70 extends "mat3" ? T extends "vec3" ? T : T_70 : T_70 extends "mat2" ? T extends "vec2" ? T : T_70 : T_70 extends "vec4" ? T extends "mat4" ? T_70 : T_70 : T_70 extends "vec3" ? T extends "mat3" ? T_70 : T_70 : T_70 extends "vec2" ? T extends "mat2" ? T_70 : T_70 : T_70 : never : never) extends infer T_71 ? T_71 extends ("vec4" extends infer T_72 ? T_72 extends "vec4" ? T_72 extends T ? T_72 : T_72 extends "int" | "float" ? T : T extends "int" | "float" ? T_72 : T_72 extends "mat4" ? T extends "vec4" ? T : T_72 : T_72 extends "mat3" ? T extends "vec3" ? T : T_72 : T_72 extends "mat2" ? T extends "vec2" ? T : T_72 : T_72 extends "vec4" ? T extends "mat4" ? T_72 : T_72 : T_72 extends "vec3" ? T extends "mat3" ? T_72 : T_72 : T_72 extends "vec2" ? T extends "mat2" ? T_72 : T_72 : T_72 : never : never) ? T_71 extends "int" | "float" ? T_67 : T_67 extends "mat4" ? T_71 extends "vec4" ? T_71 : T_67 : T_67 extends "mat3" ? T_71 extends "vec3" ? T_71 : T_67 : T_67 extends "mat2" ? T_71 extends "vec2" ? T_71 : T_67 : T_67 extends "vec4" ? T_71 extends "mat4" ? T_67 : T_67 : T_67 extends "vec3" ? T_71 extends "mat3" ? T_67 : T_67 : T_67 extends "vec2" ? T_71 extends "mat2" ? T_67 : T_67 : T_67 : never : never : never : never> | NodeProxy<"ivec3" extends infer T_73 ? T_73 extends "ivec3" ? T_73 extends ("vec4" extends infer T_74 ? T_74 extends "vec4" ? T_74 extends T ? T_74 : T_74 extends "int" | "float" ? T : T extends "int" | "float" ? T_74 : T_74 extends "mat4" ? T extends "vec4" ? T : T_74 : T_74 extends "mat3" ? T extends "vec3" ? T : T_74 : T_74 extends "mat2" ? T extends "vec2" ? T : T_74 : T_74 extends "vec4" ? T extends "mat4" ? T_74 : T_74 : T_74 extends "vec3" ? T extends "mat3" ? T_74 : T_74 : T_74 extends "vec2" ? T extends "mat2" ? T_74 : T_74 : T_74 : never : never) ? T_73 : T_73 extends "int" | "float" ? "vec4" extends infer T_75 ? T_75 extends "vec4" ? T_75 extends T ? T_75 : T_75 extends "int" | "float" ? T : T extends "int" | "float" ? T_75 : T_75 extends "mat4" ? T extends "vec4" ? T : T_75 : T_75 extends "mat3" ? T extends "vec3" ? T : T_75 : T_75 extends "mat2" ? T extends "vec2" ? T : T_75 : T_75 extends "vec4" ? T extends "mat4" ? T_75 : T_75 : T_75 extends "vec3" ? T extends "mat3" ? T_75 : T_75 : T_75 extends "vec2" ? T extends "mat2" ? T_75 : T_75 : T_75 : never : never : ("vec4" extends infer T_76 ? T_76 extends "vec4" ? T_76 extends T ? T_76 : T_76 extends "int" | "float" ? T : T extends "int" | "float" ? T_76 : T_76 extends "mat4" ? T extends "vec4" ? T : T_76 : T_76 extends "mat3" ? T extends "vec3" ? T : T_76 : T_76 extends "mat2" ? T extends "vec2" ? T : T_76 : T_76 extends "vec4" ? T extends "mat4" ? T_76 : T_76 : T_76 extends "vec3" ? T extends "mat3" ? T_76 : T_76 : T_76 extends "vec2" ? T extends "mat2" ? T_76 : T_76 : T_76 : never : never) extends infer T_77 ? T_77 extends ("vec4" extends infer T_78 ? T_78 extends "vec4" ? T_78 extends T ? T_78 : T_78 extends "int" | "float" ? T : T extends "int" | "float" ? T_78 : T_78 extends "mat4" ? T extends "vec4" ? T : T_78 : T_78 extends "mat3" ? T extends "vec3" ? T : T_78 : T_78 extends "mat2" ? T extends "vec2" ? T : T_78 : T_78 extends "vec4" ? T extends "mat4" ? T_78 : T_78 : T_78 extends "vec3" ? T extends "mat3" ? T_78 : T_78 : T_78 extends "vec2" ? T extends "mat2" ? T_78 : T_78 : T_78 : never : never) ? T_77 extends "int" | "float" ? T_73 : T_73 extends "mat4" ? T_77 extends "vec4" ? T_77 : T_73 : T_73 extends "mat3" ? T_77 extends "vec3" ? T_77 : T_73 : T_73 extends "mat2" ? T_77 extends "vec2" ? T_77 : T_73 : T_73 extends "vec4" ? T_77 extends "mat4" ? T_73 : T_73 : T_73 extends "vec3" ? T_77 extends "mat3" ? T_73 : T_73 : T_73 extends "vec2" ? T_77 extends "mat2" ? T_73 : T_73 : T_73 : never : never : never : never> | NodeProxy<"uvec3" extends infer T_79 ? T_79 extends "uvec3" ? T_79 extends ("vec4" extends infer T_80 ? T_80 extends "vec4" ? T_80 extends T ? T_80 : T_80 extends "int" | "float" ? T : T extends "int" | "float" ? T_80 : T_80 extends "mat4" ? T extends "vec4" ? T : T_80 : T_80 extends "mat3" ? T extends "vec3" ? T : T_80 : T_80 extends "mat2" ? T extends "vec2" ? T : T_80 : T_80 extends "vec4" ? T extends "mat4" ? T_80 : T_80 : T_80 extends "vec3" ? T extends "mat3" ? T_80 : T_80 : T_80 extends "vec2" ? T extends "mat2" ? T_80 : T_80 : T_80 : never : never) ? T_79 : T_79 extends "int" | "float" ? "vec4" extends infer T_81 ? T_81 extends "vec4" ? T_81 extends T ? T_81 : T_81 extends "int" | "float" ? T : T extends "int" | "float" ? T_81 : T_81 extends "mat4" ? T extends "vec4" ? T : T_81 : T_81 extends "mat3" ? T extends "vec3" ? T : T_81 : T_81 extends "mat2" ? T extends "vec2" ? T : T_81 : T_81 extends "vec4" ? T extends "mat4" ? T_81 : T_81 : T_81 extends "vec3" ? T extends "mat3" ? T_81 : T_81 : T_81 extends "vec2" ? T extends "mat2" ? T_81 : T_81 : T_81 : never : never : ("vec4" extends infer T_82 ? T_82 extends "vec4" ? T_82 extends T ? T_82 : T_82 extends "int" | "float" ? T : T extends "int" | "float" ? T_82 : T_82 extends "mat4" ? T extends "vec4" ? T : T_82 : T_82 extends "mat3" ? T extends "vec3" ? T : T_82 : T_82 extends "mat2" ? T extends "vec2" ? T : T_82 : T_82 extends "vec4" ? T extends "mat4" ? T_82 : T_82 : T_82 extends "vec3" ? T extends "mat3" ? T_82 : T_82 : T_82 extends "vec2" ? T extends "mat2" ? T_82 : T_82 : T_82 : never : never) extends infer T_83 ? T_83 extends ("vec4" extends infer T_84 ? T_84 extends "vec4" ? T_84 extends T ? T_84 : T_84 extends "int" | "float" ? T : T extends "int" | "float" ? T_84 : T_84 extends "mat4" ? T extends "vec4" ? T : T_84 : T_84 extends "mat3" ? T extends "vec3" ? T : T_84 : T_84 extends "mat2" ? T extends "vec2" ? T : T_84 : T_84 extends "vec4" ? T extends "mat4" ? T_84 : T_84 : T_84 extends "vec3" ? T extends "mat3" ? T_84 : T_84 : T_84 extends "vec2" ? T extends "mat2" ? T_84 : T_84 : T_84 : never : never) ? T_83 extends "int" | "float" ? T_79 : T_79 extends "mat4" ? T_83 extends "vec4" ? T_83 : T_79 : T_79 extends "mat3" ? T_83 extends "vec3" ? T_83 : T_79 : T_79 extends "mat2" ? T_83 extends "vec2" ? T_83 : T_79 : T_79 extends "vec4" ? T_83 extends "mat4" ? T_79 : T_79 : T_79 extends "vec3" ? T_83 extends "mat3" ? T_79 : T_79 : T_79 extends "vec2" ? T_83 extends "mat2" ? T_79 : T_79 : T_79 : never : never : never : never> | NodeProxy<"vec3" extends infer T_85 ? T_85 extends "vec3" ? T_85 extends ("vec4" extends infer T_86 ? T_86 extends "vec4" ? T_86 extends T ? T_86 : T_86 extends "int" | "float" ? T : T extends "int" | "float" ? T_86 : T_86 extends "mat4" ? T extends "vec4" ? T : T_86 : T_86 extends "mat3" ? T extends "vec3" ? T : T_86 : T_86 extends "mat2" ? T extends "vec2" ? T : T_86 : T_86 extends "vec4" ? T extends "mat4" ? T_86 : T_86 : T_86 extends "vec3" ? T extends "mat3" ? T_86 : T_86 : T_86 extends "vec2" ? T extends "mat2" ? T_86 : T_86 : T_86 : never : never) ? T_85 : T_85 extends "int" | "float" ? "vec4" extends infer T_87 ? T_87 extends "vec4" ? T_87 extends T ? T_87 : T_87 extends "int" | "float" ? T : T extends "int" | "float" ? T_87 : T_87 extends "mat4" ? T extends "vec4" ? T : T_87 : T_87 extends "mat3" ? T extends "vec3" ? T : T_87 : T_87 extends "mat2" ? T extends "vec2" ? T : T_87 : T_87 extends "vec4" ? T extends "mat4" ? T_87 : T_87 : T_87 extends "vec3" ? T extends "mat3" ? T_87 : T_87 : T_87 extends "vec2" ? T extends "mat2" ? T_87 : T_87 : T_87 : never : never : ("vec4" extends infer T_88 ? T_88 extends "vec4" ? T_88 extends T ? T_88 : T_88 extends "int" | "float" ? T : T extends "int" | "float" ? T_88 : T_88 extends "mat4" ? T extends "vec4" ? T : T_88 : T_88 extends "mat3" ? T extends "vec3" ? T : T_88 : T_88 extends "mat2" ? T extends "vec2" ? T : T_88 : T_88 extends "vec4" ? T extends "mat4" ? T_88 : T_88 : T_88 extends "vec3" ? T extends "mat3" ? T_88 : T_88 : T_88 extends "vec2" ? T extends "mat2" ? T_88 : T_88 : T_88 : never : never) extends infer T_89 ? T_89 extends ("vec4" extends infer T_90 ? T_90 extends "vec4" ? T_90 extends T ? T_90 : T_90 extends "int" | "float" ? T : T extends "int" | "float" ? T_90 : T_90 extends "mat4" ? T extends "vec4" ? T : T_90 : T_90 extends "mat3" ? T extends "vec3" ? T : T_90 : T_90 extends "mat2" ? T extends "vec2" ? T : T_90 : T_90 extends "vec4" ? T extends "mat4" ? T_90 : T_90 : T_90 extends "vec3" ? T extends "mat3" ? T_90 : T_90 : T_90 extends "vec2" ? T extends "mat2" ? T_90 : T_90 : T_90 : never : never) ? T_89 extends "int" | "float" ? T_85 : T_85 extends "mat4" ? T_89 extends "vec4" ? T_89 : T_85 : T_85 extends "mat3" ? T_89 extends "vec3" ? T_89 : T_85 : T_85 extends "mat2" ? T_89 extends "vec2" ? T_89 : T_85 : T_85 extends "vec4" ? T_89 extends "mat4" ? T_85 : T_85 : T_85 extends "vec3" ? T_89 extends "mat3" ? T_85 : T_85 : T_85 extends "vec2" ? T_89 extends "mat2" ? T_85 : T_85 : T_85 : never : never : never : never> | NodeProxy<"bvec4" extends infer T_91 ? T_91 extends "bvec4" ? T_91 extends ("vec4" extends infer T_92 ? T_92 extends "vec4" ? T_92 extends T ? T_92 : T_92 extends "int" | "float" ? T : T extends "int" | "float" ? T_92 : T_92 extends "mat4" ? T extends "vec4" ? T : T_92 : T_92 extends "mat3" ? T extends "vec3" ? T : T_92 : T_92 extends "mat2" ? T extends "vec2" ? T : T_92 : T_92 extends "vec4" ? T extends "mat4" ? T_92 : T_92 : T_92 extends "vec3" ? T extends "mat3" ? T_92 : T_92 : T_92 extends "vec2" ? T extends "mat2" ? T_92 : T_92 : T_92 : never : never) ? T_91 : T_91 extends "int" | "float" ? "vec4" extends infer T_93 ? T_93 extends "vec4" ? T_93 extends T ? T_93 : T_93 extends "int" | "float" ? T : T extends "int" | "float" ? T_93 : T_93 extends "mat4" ? T extends "vec4" ? T : T_93 : T_93 extends "mat3" ? T extends "vec3" ? T : T_93 : T_93 extends "mat2" ? T extends "vec2" ? T : T_93 : T_93 extends "vec4" ? T extends "mat4" ? T_93 : T_93 : T_93 extends "vec3" ? T extends "mat3" ? T_93 : T_93 : T_93 extends "vec2" ? T extends "mat2" ? T_93 : T_93 : T_93 : never : never : ("vec4" extends infer T_94 ? T_94 extends "vec4" ? T_94 extends T ? T_94 : T_94 extends "int" | "float" ? T : T extends "int" | "float" ? T_94 : T_94 extends "mat4" ? T extends "vec4" ? T : T_94 : T_94 extends "mat3" ? T extends "vec3" ? T : T_94 : T_94 extends "mat2" ? T extends "vec2" ? T : T_94 : T_94 extends "vec4" ? T extends "mat4" ? T_94 : T_94 : T_94 extends "vec3" ? T extends "mat3" ? T_94 : T_94 : T_94 extends "vec2" ? T extends "mat2" ? T_94 : T_94 : T_94 : never : never) extends infer T_95 ? T_95 extends ("vec4" extends infer T_96 ? T_96 extends "vec4" ? T_96 extends T ? T_96 : T_96 extends "int" | "float" ? T : T extends "int" | "float" ? T_96 : T_96 extends "mat4" ? T extends "vec4" ? T : T_96 : T_96 extends "mat3" ? T extends "vec3" ? T : T_96 : T_96 extends "mat2" ? T extends "vec2" ? T : T_96 : T_96 extends "vec4" ? T extends "mat4" ? T_96 : T_96 : T_96 extends "vec3" ? T extends "mat3" ? T_96 : T_96 : T_96 extends "vec2" ? T extends "mat2" ? T_96 : T_96 : T_96 : never : never) ? T_95 extends "int" | "float" ? T_91 : T_91 extends "mat4" ? T_95 extends "vec4" ? T_95 : T_91 : T_91 extends "mat3" ? T_95 extends "vec3" ? T_95 : T_91 : T_91 extends "mat2" ? T_95 extends "vec2" ? T_95 : T_91 : T_91 extends "vec4" ? T_95 extends "mat4" ? T_91 : T_91 : T_91 extends "vec3" ? T_95 extends "mat3" ? T_91 : T_91 : T_91 extends "vec2" ? T_95 extends "mat2" ? T_91 : T_91 : T_91 : never : never : never : never> | NodeProxy<"ivec4" extends infer T_97 ? T_97 extends "ivec4" ? T_97 extends ("vec4" extends infer T_98 ? T_98 extends "vec4" ? T_98 extends T ? T_98 : T_98 extends "int" | "float" ? T : T extends "int" | "float" ? T_98 : T_98 extends "mat4" ? T extends "vec4" ? T : T_98 : T_98 extends "mat3" ? T extends "vec3" ? T : T_98 : T_98 extends "mat2" ? T extends "vec2" ? T : T_98 : T_98 extends "vec4" ? T extends "mat4" ? T_98 : T_98 : T_98 extends "vec3" ? T extends "mat3" ? T_98 : T_98 : T_98 extends "vec2" ? T extends "mat2" ? T_98 : T_98 : T_98 : never : never) ? T_97 : T_97 extends "int" | "float" ? "vec4" extends infer T_99 ? T_99 extends "vec4" ? T_99 extends T ? T_99 : T_99 extends "int" | "float" ? T : T extends "int" | "float" ? T_99 : T_99 extends "mat4" ? T extends "vec4" ? T : T_99 : T_99 extends "mat3" ? T extends "vec3" ? T : T_99 : T_99 extends "mat2" ? T extends "vec2" ? T : T_99 : T_99 extends "vec4" ? T extends "mat4" ? T_99 : T_99 : T_99 extends "vec3" ? T extends "mat3" ? T_99 : T_99 : T_99 extends "vec2" ? T extends "mat2" ? T_99 : T_99 : T_99 : never : never : ("vec4" extends infer T_100 ? T_100 extends "vec4" ? T_100 extends T ? T_100 : T_100 extends "int" | "float" ? T : T extends "int" | "float" ? T_100 : T_100 extends "mat4" ? T extends "vec4" ? T : T_100 : T_100 extends "mat3" ? T extends "vec3" ? T : T_100 : T_100 extends "mat2" ? T extends "vec2" ? T : T_100 : T_100 extends "vec4" ? T extends "mat4" ? T_100 : T_100 : T_100 extends "vec3" ? T extends "mat3" ? T_100 : T_100 : T_100 extends "vec2" ? T extends "mat2" ? T_100 : T_100 : T_100 : never : never) extends infer T_101 ? T_101 extends ("vec4" extends infer T_102 ? T_102 extends "vec4" ? T_102 extends T ? T_102 : T_102 extends "int" | "float" ? T : T extends "int" | "float" ? T_102 : T_102 extends "mat4" ? T extends "vec4" ? T : T_102 : T_102 extends "mat3" ? T extends "vec3" ? T : T_102 : T_102 extends "mat2" ? T extends "vec2" ? T : T_102 : T_102 extends "vec4" ? T extends "mat4" ? T_102 : T_102 : T_102 extends "vec3" ? T extends "mat3" ? T_102 : T_102 : T_102 extends "vec2" ? T extends "mat2" ? T_102 : T_102 : T_102 : never : never) ? T_101 extends "int" | "float" ? T_97 : T_97 extends "mat4" ? T_101 extends "vec4" ? T_101 : T_97 : T_97 extends "mat3" ? T_101 extends "vec3" ? T_101 : T_97 : T_97 extends "mat2" ? T_101 extends "vec2" ? T_101 : T_97 : T_97 extends "vec4" ? T_101 extends "mat4" ? T_97 : T_97 : T_97 extends "vec3" ? T_101 extends "mat3" ? T_97 : T_97 : T_97 extends "vec2" ? T_101 extends "mat2" ? T_97 : T_97 : T_97 : never : never : never : never> | NodeProxy<"uvec4" extends infer T_103 ? T_103 extends "uvec4" ? T_103 extends ("vec4" extends infer T_104 ? T_104 extends "vec4" ? T_104 extends T ? T_104 : T_104 extends "int" | "float" ? T : T extends "int" | "float" ? T_104 : T_104 extends "mat4" ? T extends "vec4" ? T : T_104 : T_104 extends "mat3" ? T extends "vec3" ? T : T_104 : T_104 extends "mat2" ? T extends "vec2" ? T : T_104 : T_104 extends "vec4" ? T extends "mat4" ? T_104 : T_104 : T_104 extends "vec3" ? T extends "mat3" ? T_104 : T_104 : T_104 extends "vec2" ? T extends "mat2" ? T_104 : T_104 : T_104 : never : never) ? T_103 : T_103 extends "int" | "float" ? "vec4" extends infer T_105 ? T_105 extends "vec4" ? T_105 extends T ? T_105 : T_105 extends "int" | "float" ? T : T extends "int" | "float" ? T_105 : T_105 extends "mat4" ? T extends "vec4" ? T : T_105 : T_105 extends "mat3" ? T extends "vec3" ? T : T_105 : T_105 extends "mat2" ? T extends "vec2" ? T : T_105 : T_105 extends "vec4" ? T extends "mat4" ? T_105 : T_105 : T_105 extends "vec3" ? T extends "mat3" ? T_105 : T_105 : T_105 extends "vec2" ? T extends "mat2" ? T_105 : T_105 : T_105 : never : never : ("vec4" extends infer T_106 ? T_106 extends "vec4" ? T_106 extends T ? T_106 : T_106 extends "int" | "float" ? T : T extends "int" | "float" ? T_106 : T_106 extends "mat4" ? T extends "vec4" ? T : T_106 : T_106 extends "mat3" ? T extends "vec3" ? T : T_106 : T_106 extends "mat2" ? T extends "vec2" ? T : T_106 : T_106 extends "vec4" ? T extends "mat4" ? T_106 : T_106 : T_106 extends "vec3" ? T extends "mat3" ? T_106 : T_106 : T_106 extends "vec2" ? T extends "mat2" ? T_106 : T_106 : T_106 : never : never) extends infer T_107 ? T_107 extends ("vec4" extends infer T_108 ? T_108 extends "vec4" ? T_108 extends T ? T_108 : T_108 extends "int" | "float" ? T : T extends "int" | "float" ? T_108 : T_108 extends "mat4" ? T extends "vec4" ? T : T_108 : T_108 extends "mat3" ? T extends "vec3" ? T : T_108 : T_108 extends "mat2" ? T extends "vec2" ? T : T_108 : T_108 extends "vec4" ? T extends "mat4" ? T_108 : T_108 : T_108 extends "vec3" ? T extends "mat3" ? T_108 : T_108 : T_108 extends "vec2" ? T extends "mat2" ? T_108 : T_108 : T_108 : never : never) ? T_107 extends "int" | "float" ? T_103 : T_103 extends "mat4" ? T_107 extends "vec4" ? T_107 : T_103 : T_103 extends "mat3" ? T_107 extends "vec3" ? T_107 : T_103 : T_103 extends "mat2" ? T_107 extends "vec2" ? T_107 : T_103 : T_103 extends "vec4" ? T_107 extends "mat4" ? T_103 : T_103 : T_103 extends "vec3" ? T_107 extends "mat3" ? T_103 : T_103 : T_103 extends "vec2" ? T_107 extends "mat2" ? T_103 : T_103 : T_103 : never : never : never : never> | NodeProxy<"color" extends infer T_109 ? T_109 extends "color" ? T_109 extends ("vec4" extends infer T_110 ? T_110 extends "vec4" ? T_110 extends T ? T_110 : T_110 extends "int" | "float" ? T : T extends "int" | "float" ? T_110 : T_110 extends "mat4" ? T extends "vec4" ? T : T_110 : T_110 extends "mat3" ? T extends "vec3" ? T : T_110 : T_110 extends "mat2" ? T extends "vec2" ? T : T_110 : T_110 extends "vec4" ? T extends "mat4" ? T_110 : T_110 : T_110 extends "vec3" ? T extends "mat3" ? T_110 : T_110 : T_110 extends "vec2" ? T extends "mat2" ? T_110 : T_110 : T_110 : never : never) ? T_109 : T_109 extends "int" | "float" ? "vec4" extends infer T_111 ? T_111 extends "vec4" ? T_111 extends T ? T_111 : T_111 extends "int" | "float" ? T : T extends "int" | "float" ? T_111 : T_111 extends "mat4" ? T extends "vec4" ? T : T_111 : T_111 extends "mat3" ? T extends "vec3" ? T : T_111 : T_111 extends "mat2" ? T extends "vec2" ? T : T_111 : T_111 extends "vec4" ? T extends "mat4" ? T_111 : T_111 : T_111 extends "vec3" ? T extends "mat3" ? T_111 : T_111 : T_111 extends "vec2" ? T extends "mat2" ? T_111 : T_111 : T_111 : never : never : ("vec4" extends infer T_112 ? T_112 extends "vec4" ? T_112 extends T ? T_112 : T_112 extends "int" | "float" ? T : T extends "int" | "float" ? T_112 : T_112 extends "mat4" ? T extends "vec4" ? T : T_112 : T_112 extends "mat3" ? T extends "vec3" ? T : T_112 : T_112 extends "mat2" ? T extends "vec2" ? T : T_112 : T_112 extends "vec4" ? T extends "mat4" ? T_112 : T_112 : T_112 extends "vec3" ? T extends "mat3" ? T_112 : T_112 : T_112 extends "vec2" ? T extends "mat2" ? T_112 : T_112 : T_112 : never : never) extends infer T_113 ? T_113 extends ("vec4" extends infer T_114 ? T_114 extends "vec4" ? T_114 extends T ? T_114 : T_114 extends "int" | "float" ? T : T extends "int" | "float" ? T_114 : T_114 extends "mat4" ? T extends "vec4" ? T : T_114 : T_114 extends "mat3" ? T extends "vec3" ? T : T_114 : T_114 extends "mat2" ? T extends "vec2" ? T : T_114 : T_114 extends "vec4" ? T extends "mat4" ? T_114 : T_114 : T_114 extends "vec3" ? T extends "mat3" ? T_114 : T_114 : T_114 extends "vec2" ? T extends "mat2" ? T_114 : T_114 : T_114 : never : never) ? T_113 extends "int" | "float" ? T_109 : T_109 extends "mat4" ? T_113 extends "vec4" ? T_113 : T_109 : T_109 extends "mat3" ? T_113 extends "vec3" ? T_113 : T_109 : T_109 extends "mat2" ? T_113 extends "vec2" ? T_113 : T_109 : T_109 extends "vec4" ? T_113 extends "mat4" ? T_109 : T_109 : T_109 extends "vec3" ? T_113 extends "mat3" ? T_109 : T_109 : T_109 extends "vec2" ? T_113 extends "mat2" ? T_109 : T_109 : T_109 : never : never : never : never> | NodeProxy<"mat2" extends infer T_115 ? T_115 extends "mat2" ? T_115 extends ("vec4" extends infer T_116 ? T_116 extends "vec4" ? T_116 extends T ? T_116 : T_116 extends "int" | "float" ? T : T extends "int" | "float" ? T_116 : T_116 extends "mat4" ? T extends "vec4" ? T : T_116 : T_116 extends "mat3" ? T extends "vec3" ? T : T_116 : T_116 extends "mat2" ? T extends "vec2" ? T : T_116 : T_116 extends "vec4" ? T extends "mat4" ? T_116 : T_116 : T_116 extends "vec3" ? T extends "mat3" ? T_116 : T_116 : T_116 extends "vec2" ? T extends "mat2" ? T_116 : T_116 : T_116 : never : never) ? T_115 : T_115 extends "int" | "float" ? "vec4" extends infer T_117 ? T_117 extends "vec4" ? T_117 extends T ? T_117 : T_117 extends "int" | "float" ? T : T extends "int" | "float" ? T_117 : T_117 extends "mat4" ? T extends "vec4" ? T : T_117 : T_117 extends "mat3" ? T extends "vec3" ? T : T_117 : T_117 extends "mat2" ? T extends "vec2" ? T : T_117 : T_117 extends "vec4" ? T extends "mat4" ? T_117 : T_117 : T_117 extends "vec3" ? T extends "mat3" ? T_117 : T_117 : T_117 extends "vec2" ? T extends "mat2" ? T_117 : T_117 : T_117 : never : never : ("vec4" extends infer T_118 ? T_118 extends "vec4" ? T_118 extends T ? T_118 : T_118 extends "int" | "float" ? T : T extends "int" | "float" ? T_118 : T_118 extends "mat4" ? T extends "vec4" ? T : T_118 : T_118 extends "mat3" ? T extends "vec3" ? T : T_118 : T_118 extends "mat2" ? T extends "vec2" ? T : T_118 : T_118 extends "vec4" ? T extends "mat4" ? T_118 : T_118 : T_118 extends "vec3" ? T extends "mat3" ? T_118 : T_118 : T_118 extends "vec2" ? T extends "mat2" ? T_118 : T_118 : T_118 : never : never) extends infer T_119 ? T_119 extends ("vec4" extends infer T_120 ? T_120 extends "vec4" ? T_120 extends T ? T_120 : T_120 extends "int" | "float" ? T : T extends "int" | "float" ? T_120 : T_120 extends "mat4" ? T extends "vec4" ? T : T_120 : T_120 extends "mat3" ? T extends "vec3" ? T : T_120 : T_120 extends "mat2" ? T extends "vec2" ? T : T_120 : T_120 extends "vec4" ? T extends "mat4" ? T_120 : T_120 : T_120 extends "vec3" ? T extends "mat3" ? T_120 : T_120 : T_120 extends "vec2" ? T extends "mat2" ? T_120 : T_120 : T_120 : never : never) ? T_119 extends "int" | "float" ? T_115 : T_115 extends "mat4" ? T_119 extends "vec4" ? T_119 : T_115 : T_115 extends "mat3" ? T_119 extends "vec3" ? T_119 : T_115 : T_115 extends "mat2" ? T_119 extends "vec2" ? T_119 : T_115 : T_115 extends "vec4" ? T_119 extends "mat4" ? T_115 : T_115 : T_115 extends "vec3" ? T_119 extends "mat3" ? T_115 : T_115 : T_115 extends "vec2" ? T_119 extends "mat2" ? T_115 : T_115 : T_115 : never : never : never : never> | NodeProxy<"mat3" extends infer T_121 ? T_121 extends "mat3" ? T_121 extends ("vec4" extends infer T_122 ? T_122 extends "vec4" ? T_122 extends T ? T_122 : T_122 extends "int" | "float" ? T : T extends "int" | "float" ? T_122 : T_122 extends "mat4" ? T extends "vec4" ? T : T_122 : T_122 extends "mat3" ? T extends "vec3" ? T : T_122 : T_122 extends "mat2" ? T extends "vec2" ? T : T_122 : T_122 extends "vec4" ? T extends "mat4" ? T_122 : T_122 : T_122 extends "vec3" ? T extends "mat3" ? T_122 : T_122 : T_122 extends "vec2" ? T extends "mat2" ? T_122 : T_122 : T_122 : never : never) ? T_121 : T_121 extends "int" | "float" ? "vec4" extends infer T_123 ? T_123 extends "vec4" ? T_123 extends T ? T_123 : T_123 extends "int" | "float" ? T : T extends "int" | "float" ? T_123 : T_123 extends "mat4" ? T extends "vec4" ? T : T_123 : T_123 extends "mat3" ? T extends "vec3" ? T : T_123 : T_123 extends "mat2" ? T extends "vec2" ? T : T_123 : T_123 extends "vec4" ? T extends "mat4" ? T_123 : T_123 : T_123 extends "vec3" ? T extends "mat3" ? T_123 : T_123 : T_123 extends "vec2" ? T extends "mat2" ? T_123 : T_123 : T_123 : never : never : ("vec4" extends infer T_124 ? T_124 extends "vec4" ? T_124 extends T ? T_124 : T_124 extends "int" | "float" ? T : T extends "int" | "float" ? T_124 : T_124 extends "mat4" ? T extends "vec4" ? T : T_124 : T_124 extends "mat3" ? T extends "vec3" ? T : T_124 : T_124 extends "mat2" ? T extends "vec2" ? T : T_124 : T_124 extends "vec4" ? T extends "mat4" ? T_124 : T_124 : T_124 extends "vec3" ? T extends "mat3" ? T_124 : T_124 : T_124 extends "vec2" ? T extends "mat2" ? T_124 : T_124 : T_124 : never : never) extends infer T_125 ? T_125 extends ("vec4" extends infer T_126 ? T_126 extends "vec4" ? T_126 extends T ? T_126 : T_126 extends "int" | "float" ? T : T extends "int" | "float" ? T_126 : T_126 extends "mat4" ? T extends "vec4" ? T : T_126 : T_126 extends "mat3" ? T extends "vec3" ? T : T_126 : T_126 extends "mat2" ? T extends "vec2" ? T : T_126 : T_126 extends "vec4" ? T extends "mat4" ? T_126 : T_126 : T_126 extends "vec3" ? T extends "mat3" ? T_126 : T_126 : T_126 extends "vec2" ? T extends "mat2" ? T_126 : T_126 : T_126 : never : never) ? T_125 extends "int" | "float" ? T_121 : T_121 extends "mat4" ? T_125 extends "vec4" ? T_125 : T_121 : T_121 extends "mat3" ? T_125 extends "vec3" ? T_125 : T_121 : T_121 extends "mat2" ? T_125 extends "vec2" ? T_125 : T_121 : T_121 extends "vec4" ? T_125 extends "mat4" ? T_121 : T_121 : T_121 extends "vec3" ? T_125 extends "mat3" ? T_121 : T_121 : T_121 extends "vec2" ? T_125 extends "mat2" ? T_121 : T_121 : T_121 : never : never : never : never> | NodeProxy<"mat4" extends infer T_127 ? T_127 extends "mat4" ? T_127 extends ("vec4" extends infer T_128 ? T_128 extends "vec4" ? T_128 extends T ? T_128 : T_128 extends "int" | "float" ? T : T extends "int" | "float" ? T_128 : T_128 extends "mat4" ? T extends "vec4" ? T : T_128 : T_128 extends "mat3" ? T extends "vec3" ? T : T_128 : T_128 extends "mat2" ? T extends "vec2" ? T : T_128 : T_128 extends "vec4" ? T extends "mat4" ? T_128 : T_128 : T_128 extends "vec3" ? T extends "mat3" ? T_128 : T_128 : T_128 extends "vec2" ? T extends "mat2" ? T_128 : T_128 : T_128 : never : never) ? T_127 : T_127 extends "int" | "float" ? "vec4" extends infer T_129 ? T_129 extends "vec4" ? T_129 extends T ? T_129 : T_129 extends "int" | "float" ? T : T extends "int" | "float" ? T_129 : T_129 extends "mat4" ? T extends "vec4" ? T : T_129 : T_129 extends "mat3" ? T extends "vec3" ? T : T_129 : T_129 extends "mat2" ? T extends "vec2" ? T : T_129 : T_129 extends "vec4" ? T extends "mat4" ? T_129 : T_129 : T_129 extends "vec3" ? T extends "mat3" ? T_129 : T_129 : T_129 extends "vec2" ? T extends "mat2" ? T_129 : T_129 : T_129 : never : never : ("vec4" extends infer T_130 ? T_130 extends "vec4" ? T_130 extends T ? T_130 : T_130 extends "int" | "float" ? T : T extends "int" | "float" ? T_130 : T_130 extends "mat4" ? T extends "vec4" ? T : T_130 : T_130 extends "mat3" ? T extends "vec3" ? T : T_130 : T_130 extends "mat2" ? T extends "vec2" ? T : T_130 : T_130 extends "vec4" ? T extends "mat4" ? T_130 : T_130 : T_130 extends "vec3" ? T extends "mat3" ? T_130 : T_130 : T_130 extends "vec2" ? T extends "mat2" ? T_130 : T_130 : T_130 : never : never) extends infer T_131 ? T_131 extends ("vec4" extends infer T_132 ? T_132 extends "vec4" ? T_132 extends T ? T_132 : T_132 extends "int" | "float" ? T : T extends "int" | "float" ? T_132 : T_132 extends "mat4" ? T extends "vec4" ? T : T_132 : T_132 extends "mat3" ? T extends "vec3" ? T : T_132 : T_132 extends "mat2" ? T extends "vec2" ? T : T_132 : T_132 extends "vec4" ? T extends "mat4" ? T_132 : T_132 : T_132 extends "vec3" ? T extends "mat3" ? T_132 : T_132 : T_132 extends "vec2" ? T extends "mat2" ? T_132 : T_132 : T_132 : never : never) ? T_131 extends "int" | "float" ? T_127 : T_127 extends "mat4" ? T_131 extends "vec4" ? T_131 : T_127 : T_127 extends "mat3" ? T_131 extends "vec3" ? T_131 : T_127 : T_127 extends "mat2" ? T_131 extends "vec2" ? T_131 : T_127 : T_127 extends "vec4" ? T_131 extends "mat4" ? T_127 : T_127 : T_127 extends "vec3" ? T_131 extends "mat3" ? T_127 : T_127 : T_127 extends "vec2" ? T_131 extends "mat2" ? T_127 : T_127 : T_127 : never : never : never : never> | NodeProxy<"sampler2D" extends infer T_133 ? T_133 extends "sampler2D" ? T_133 extends ("vec4" extends infer T_134 ? T_134 extends "vec4" ? T_134 extends T ? T_134 : T_134 extends "int" | "float" ? T : T extends "int" | "float" ? T_134 : T_134 extends "mat4" ? T extends "vec4" ? T : T_134 : T_134 extends "mat3" ? T extends "vec3" ? T : T_134 : T_134 extends "mat2" ? T extends "vec2" ? T : T_134 : T_134 extends "vec4" ? T extends "mat4" ? T_134 : T_134 : T_134 extends "vec3" ? T extends "mat3" ? T_134 : T_134 : T_134 extends "vec2" ? T extends "mat2" ? T_134 : T_134 : T_134 : never : never) ? T_133 : T_133 extends "int" | "float" ? "vec4" extends infer T_135 ? T_135 extends "vec4" ? T_135 extends T ? T_135 : T_135 extends "int" | "float" ? T : T extends "int" | "float" ? T_135 : T_135 extends "mat4" ? T extends "vec4" ? T : T_135 : T_135 extends "mat3" ? T extends "vec3" ? T : T_135 : T_135 extends "mat2" ? T extends "vec2" ? T : T_135 : T_135 extends "vec4" ? T extends "mat4" ? T_135 : T_135 : T_135 extends "vec3" ? T extends "mat3" ? T_135 : T_135 : T_135 extends "vec2" ? T extends "mat2" ? T_135 : T_135 : T_135 : never : never : ("vec4" extends infer T_136 ? T_136 extends "vec4" ? T_136 extends T ? T_136 : T_136 extends "int" | "float" ? T : T extends "int" | "float" ? T_136 : T_136 extends "mat4" ? T extends "vec4" ? T : T_136 : T_136 extends "mat3" ? T extends "vec3" ? T : T_136 : T_136 extends "mat2" ? T extends "vec2" ? T : T_136 : T_136 extends "vec4" ? T extends "mat4" ? T_136 : T_136 : T_136 extends "vec3" ? T extends "mat3" ? T_136 : T_136 : T_136 extends "vec2" ? T extends "mat2" ? T_136 : T_136 : T_136 : never : never) extends infer T_137 ? T_137 extends ("vec4" extends infer T_138 ? T_138 extends "vec4" ? T_138 extends T ? T_138 : T_138 extends "int" | "float" ? T : T extends "int" | "float" ? T_138 : T_138 extends "mat4" ? T extends "vec4" ? T : T_138 : T_138 extends "mat3" ? T extends "vec3" ? T : T_138 : T_138 extends "mat2" ? T extends "vec2" ? T : T_138 : T_138 extends "vec4" ? T extends "mat4" ? T_138 : T_138 : T_138 extends "vec3" ? T extends "mat3" ? T_138 : T_138 : T_138 extends "vec2" ? T extends "mat2" ? T_138 : T_138 : T_138 : never : never) ? T_137 extends "int" | "float" ? T_133 : T_133 extends "mat4" ? T_137 extends "vec4" ? T_137 : T_133 : T_133 extends "mat3" ? T_137 extends "vec3" ? T_137 : T_133 : T_133 extends "mat2" ? T_137 extends "vec2" ? T_137 : T_133 : T_133 extends "vec4" ? T_137 extends "mat4" ? T_133 : T_133 : T_133 extends "vec3" ? T_137 extends "mat3" ? T_133 : T_133 : T_133 extends "vec2" ? T_137 extends "mat2" ? T_133 : T_133 : T_133 : never : never : never : never> | NodeProxy<"struct" extends infer T_139 ? T_139 extends "struct" ? T_139 extends ("vec4" extends infer T_140 ? T_140 extends "vec4" ? T_140 extends T ? T_140 : T_140 extends "int" | "float" ? T : T extends "int" | "float" ? T_140 : T_140 extends "mat4" ? T extends "vec4" ? T : T_140 : T_140 extends "mat3" ? T extends "vec3" ? T : T_140 : T_140 extends "mat2" ? T extends "vec2" ? T : T_140 : T_140 extends "vec4" ? T extends "mat4" ? T_140 : T_140 : T_140 extends "vec3" ? T extends "mat3" ? T_140 : T_140 : T_140 extends "vec2" ? T extends "mat2" ? T_140 : T_140 : T_140 : never : never) ? T_139 : T_139 extends "int" | "float" ? "vec4" extends infer T_141 ? T_141 extends "vec4" ? T_141 extends T ? T_141 : T_141 extends "int" | "float" ? T : T extends "int" | "float" ? T_141 : T_141 extends "mat4" ? T extends "vec4" ? T : T_141 : T_141 extends "mat3" ? T extends "vec3" ? T : T_141 : T_141 extends "mat2" ? T extends "vec2" ? T : T_141 : T_141 extends "vec4" ? T extends "mat4" ? T_141 : T_141 : T_141 extends "vec3" ? T extends "mat3" ? T_141 : T_141 : T_141 extends "vec2" ? T extends "mat2" ? T_141 : T_141 : T_141 : never : never : ("vec4" extends infer T_142 ? T_142 extends "vec4" ? T_142 extends T ? T_142 : T_142 extends "int" | "float" ? T : T extends "int" | "float" ? T_142 : T_142 extends "mat4" ? T extends "vec4" ? T : T_142 : T_142 extends "mat3" ? T extends "vec3" ? T : T_142 : T_142 extends "mat2" ? T extends "vec2" ? T : T_142 : T_142 extends "vec4" ? T extends "mat4" ? T_142 : T_142 : T_142 extends "vec3" ? T extends "mat3" ? T_142 : T_142 : T_142 extends "vec2" ? T extends "mat2" ? T_142 : T_142 : T_142 : never : never) extends infer T_143 ? T_143 extends ("vec4" extends infer T_144 ? T_144 extends "vec4" ? T_144 extends T ? T_144 : T_144 extends "int" | "float" ? T : T extends "int" | "float" ? T_144 : T_144 extends "mat4" ? T extends "vec4" ? T : T_144 : T_144 extends "mat3" ? T extends "vec3" ? T : T_144 : T_144 extends "mat2" ? T extends "vec2" ? T : T_144 : T_144 extends "vec4" ? T extends "mat4" ? T_144 : T_144 : T_144 extends "vec3" ? T extends "mat3" ? T_144 : T_144 : T_144 extends "vec2" ? T extends "mat2" ? T_144 : T_144 : T_144 : never : never) ? T_143 extends "int" | "float" ? T_139 : T_139 extends "mat4" ? T_143 extends "vec4" ? T_143 : T_139 : T_139 extends "mat3" ? T_143 extends "vec3" ? T_143 : T_139 : T_139 extends "mat2" ? T_143 extends "vec2" ? T_143 : T_139 : T_139 extends "vec4" ? T_143 extends "mat4" ? T_139 : T_139 : T_139 extends "vec3" ? T_143 extends "mat3" ? T_139 : T_139 : T_139 extends "vec2" ? T_143 extends "mat2" ? T_139 : T_139 : T_139 : never : never : never : never>;
457
+ declare const reflect: <T extends Constants>(I: X<T>, N: X) => NodeProxy<T>;
458
+ declare const refract: <T extends Constants>(I: X<T>, N: X, eta: X) => NodeProxy<T>;
459
+ declare const smoothstep: <T extends Constants>(e0: X, e1: X, x: X<T>) => NodeProxy<T>;
460
+ declare const step: <T extends Constants>(edge: X, x: X<T>) => NodeProxy<T>;
461
+ declare const mod: <T extends Constants>(x: NodeProxy<T>, y: X<T>) => NodeProxy<"vec4" extends infer T_1 ? T_1 extends "vec4" ? T_1 extends ("float" extends infer T_2 ? T_2 extends "float" ? T_2 extends T ? T_2 : T_2 extends "int" | "float" ? T : T extends "int" | "float" ? T_2 : T_2 extends "mat4" ? T extends "vec4" ? T : T_2 : T_2 extends "mat3" ? T extends "vec3" ? T : T_2 : T_2 extends "mat2" ? T extends "vec2" ? T : T_2 : T_2 extends "vec4" ? T extends "mat4" ? T_2 : T_2 : T_2 extends "vec3" ? T extends "mat3" ? T_2 : T_2 : T_2 extends "vec2" ? T extends "mat2" ? T_2 : T_2 : T_2 : never : never) ? T_1 : T_1 extends "int" | "float" ? "float" extends infer T_3 ? T_3 extends "float" ? T_3 extends T ? T_3 : T_3 extends "int" | "float" ? T : T extends "int" | "float" ? T_3 : T_3 extends "mat4" ? T extends "vec4" ? T : T_3 : T_3 extends "mat3" ? T extends "vec3" ? T : T_3 : T_3 extends "mat2" ? T extends "vec2" ? T : T_3 : T_3 extends "vec4" ? T extends "mat4" ? T_3 : T_3 : T_3 extends "vec3" ? T extends "mat3" ? T_3 : T_3 : T_3 extends "vec2" ? T extends "mat2" ? T_3 : T_3 : T_3 : never : never : ("float" extends infer T_4 ? T_4 extends "float" ? T_4 extends T ? T_4 : T_4 extends "int" | "float" ? T : T extends "int" | "float" ? T_4 : T_4 extends "mat4" ? T extends "vec4" ? T : T_4 : T_4 extends "mat3" ? T extends "vec3" ? T : T_4 : T_4 extends "mat2" ? T extends "vec2" ? T : T_4 : T_4 extends "vec4" ? T extends "mat4" ? T_4 : T_4 : T_4 extends "vec3" ? T extends "mat3" ? T_4 : T_4 : T_4 extends "vec2" ? T extends "mat2" ? T_4 : T_4 : T_4 : never : never) extends infer T_5 ? T_5 extends ("float" extends infer T_6 ? T_6 extends "float" ? T_6 extends T ? T_6 : T_6 extends "int" | "float" ? T : T extends "int" | "float" ? T_6 : T_6 extends "mat4" ? T extends "vec4" ? T : T_6 : T_6 extends "mat3" ? T extends "vec3" ? T : T_6 : T_6 extends "mat2" ? T extends "vec2" ? T : T_6 : T_6 extends "vec4" ? T extends "mat4" ? T_6 : T_6 : T_6 extends "vec3" ? T extends "mat3" ? T_6 : T_6 : T_6 extends "vec2" ? T extends "mat2" ? T_6 : T_6 : T_6 : never : never) ? T_5 extends "int" | "float" ? T_1 : T_1 extends "mat4" ? T_5 extends "vec4" ? T_5 : T_1 : T_1 extends "mat3" ? T_5 extends "vec3" ? T_5 : T_1 : T_1 extends "mat2" ? T_5 extends "vec2" ? T_5 : T_1 : T_1 extends "vec4" ? T_5 extends "mat4" ? T_1 : T_1 : T_1 extends "vec3" ? T_5 extends "mat3" ? T_1 : T_1 : T_1 extends "vec2" ? T_5 extends "mat2" ? T_1 : T_1 : T_1 : never : never : never : never> | NodeProxy<"void" extends infer T_7 ? T_7 extends "void" ? T_7 extends ("float" extends infer T_8 ? T_8 extends "float" ? T_8 extends T ? T_8 : T_8 extends "int" | "float" ? T : T extends "int" | "float" ? T_8 : T_8 extends "mat4" ? T extends "vec4" ? T : T_8 : T_8 extends "mat3" ? T extends "vec3" ? T : T_8 : T_8 extends "mat2" ? T extends "vec2" ? T : T_8 : T_8 extends "vec4" ? T extends "mat4" ? T_8 : T_8 : T_8 extends "vec3" ? T extends "mat3" ? T_8 : T_8 : T_8 extends "vec2" ? T extends "mat2" ? T_8 : T_8 : T_8 : never : never) ? T_7 : T_7 extends "int" | "float" ? "float" extends infer T_9 ? T_9 extends "float" ? T_9 extends T ? T_9 : T_9 extends "int" | "float" ? T : T extends "int" | "float" ? T_9 : T_9 extends "mat4" ? T extends "vec4" ? T : T_9 : T_9 extends "mat3" ? T extends "vec3" ? T : T_9 : T_9 extends "mat2" ? T extends "vec2" ? T : T_9 : T_9 extends "vec4" ? T extends "mat4" ? T_9 : T_9 : T_9 extends "vec3" ? T extends "mat3" ? T_9 : T_9 : T_9 extends "vec2" ? T extends "mat2" ? T_9 : T_9 : T_9 : never : never : ("float" extends infer T_10 ? T_10 extends "float" ? T_10 extends T ? T_10 : T_10 extends "int" | "float" ? T : T extends "int" | "float" ? T_10 : T_10 extends "mat4" ? T extends "vec4" ? T : T_10 : T_10 extends "mat3" ? T extends "vec3" ? T : T_10 : T_10 extends "mat2" ? T extends "vec2" ? T : T_10 : T_10 extends "vec4" ? T extends "mat4" ? T_10 : T_10 : T_10 extends "vec3" ? T extends "mat3" ? T_10 : T_10 : T_10 extends "vec2" ? T extends "mat2" ? T_10 : T_10 : T_10 : never : never) extends infer T_11 ? T_11 extends ("float" extends infer T_12 ? T_12 extends "float" ? T_12 extends T ? T_12 : T_12 extends "int" | "float" ? T : T extends "int" | "float" ? T_12 : T_12 extends "mat4" ? T extends "vec4" ? T : T_12 : T_12 extends "mat3" ? T extends "vec3" ? T : T_12 : T_12 extends "mat2" ? T extends "vec2" ? T : T_12 : T_12 extends "vec4" ? T extends "mat4" ? T_12 : T_12 : T_12 extends "vec3" ? T extends "mat3" ? T_12 : T_12 : T_12 extends "vec2" ? T extends "mat2" ? T_12 : T_12 : T_12 : never : never) ? T_11 extends "int" | "float" ? T_7 : T_7 extends "mat4" ? T_11 extends "vec4" ? T_11 : T_7 : T_7 extends "mat3" ? T_11 extends "vec3" ? T_11 : T_7 : T_7 extends "mat2" ? T_11 extends "vec2" ? T_11 : T_7 : T_7 extends "vec4" ? T_11 extends "mat4" ? T_7 : T_7 : T_7 extends "vec3" ? T_11 extends "mat3" ? T_7 : T_7 : T_7 extends "vec2" ? T_11 extends "mat2" ? T_7 : T_7 : T_7 : never : never : never : never> | NodeProxy<"texture" extends infer T_13 ? T_13 extends "texture" ? T_13 extends ("float" extends infer T_14 ? T_14 extends "float" ? T_14 extends T ? T_14 : T_14 extends "int" | "float" ? T : T extends "int" | "float" ? T_14 : T_14 extends "mat4" ? T extends "vec4" ? T : T_14 : T_14 extends "mat3" ? T extends "vec3" ? T : T_14 : T_14 extends "mat2" ? T extends "vec2" ? T : T_14 : T_14 extends "vec4" ? T extends "mat4" ? T_14 : T_14 : T_14 extends "vec3" ? T extends "mat3" ? T_14 : T_14 : T_14 extends "vec2" ? T extends "mat2" ? T_14 : T_14 : T_14 : never : never) ? T_13 : T_13 extends "int" | "float" ? "float" extends infer T_15 ? T_15 extends "float" ? T_15 extends T ? T_15 : T_15 extends "int" | "float" ? T : T extends "int" | "float" ? T_15 : T_15 extends "mat4" ? T extends "vec4" ? T : T_15 : T_15 extends "mat3" ? T extends "vec3" ? T : T_15 : T_15 extends "mat2" ? T extends "vec2" ? T : T_15 : T_15 extends "vec4" ? T extends "mat4" ? T_15 : T_15 : T_15 extends "vec3" ? T extends "mat3" ? T_15 : T_15 : T_15 extends "vec2" ? T extends "mat2" ? T_15 : T_15 : T_15 : never : never : ("float" extends infer T_16 ? T_16 extends "float" ? T_16 extends T ? T_16 : T_16 extends "int" | "float" ? T : T extends "int" | "float" ? T_16 : T_16 extends "mat4" ? T extends "vec4" ? T : T_16 : T_16 extends "mat3" ? T extends "vec3" ? T : T_16 : T_16 extends "mat2" ? T extends "vec2" ? T : T_16 : T_16 extends "vec4" ? T extends "mat4" ? T_16 : T_16 : T_16 extends "vec3" ? T extends "mat3" ? T_16 : T_16 : T_16 extends "vec2" ? T extends "mat2" ? T_16 : T_16 : T_16 : never : never) extends infer T_17 ? T_17 extends ("float" extends infer T_18 ? T_18 extends "float" ? T_18 extends T ? T_18 : T_18 extends "int" | "float" ? T : T extends "int" | "float" ? T_18 : T_18 extends "mat4" ? T extends "vec4" ? T : T_18 : T_18 extends "mat3" ? T extends "vec3" ? T : T_18 : T_18 extends "mat2" ? T extends "vec2" ? T : T_18 : T_18 extends "vec4" ? T extends "mat4" ? T_18 : T_18 : T_18 extends "vec3" ? T extends "mat3" ? T_18 : T_18 : T_18 extends "vec2" ? T extends "mat2" ? T_18 : T_18 : T_18 : never : never) ? T_17 extends "int" | "float" ? T_13 : T_13 extends "mat4" ? T_17 extends "vec4" ? T_17 : T_13 : T_13 extends "mat3" ? T_17 extends "vec3" ? T_17 : T_13 : T_13 extends "mat2" ? T_17 extends "vec2" ? T_17 : T_13 : T_13 extends "vec4" ? T_17 extends "mat4" ? T_13 : T_13 : T_13 extends "vec3" ? T_17 extends "mat3" ? T_13 : T_13 : T_13 extends "vec2" ? T_17 extends "mat2" ? T_13 : T_13 : T_13 : never : never : never : never> | NodeProxy<"bool" extends infer T_19 ? T_19 extends "bool" ? T_19 extends ("float" extends infer T_20 ? T_20 extends "float" ? T_20 extends T ? T_20 : T_20 extends "int" | "float" ? T : T extends "int" | "float" ? T_20 : T_20 extends "mat4" ? T extends "vec4" ? T : T_20 : T_20 extends "mat3" ? T extends "vec3" ? T : T_20 : T_20 extends "mat2" ? T extends "vec2" ? T : T_20 : T_20 extends "vec4" ? T extends "mat4" ? T_20 : T_20 : T_20 extends "vec3" ? T extends "mat3" ? T_20 : T_20 : T_20 extends "vec2" ? T extends "mat2" ? T_20 : T_20 : T_20 : never : never) ? T_19 : T_19 extends "int" | "float" ? "float" extends infer T_21 ? T_21 extends "float" ? T_21 extends T ? T_21 : T_21 extends "int" | "float" ? T : T extends "int" | "float" ? T_21 : T_21 extends "mat4" ? T extends "vec4" ? T : T_21 : T_21 extends "mat3" ? T extends "vec3" ? T : T_21 : T_21 extends "mat2" ? T extends "vec2" ? T : T_21 : T_21 extends "vec4" ? T extends "mat4" ? T_21 : T_21 : T_21 extends "vec3" ? T extends "mat3" ? T_21 : T_21 : T_21 extends "vec2" ? T extends "mat2" ? T_21 : T_21 : T_21 : never : never : ("float" extends infer T_22 ? T_22 extends "float" ? T_22 extends T ? T_22 : T_22 extends "int" | "float" ? T : T extends "int" | "float" ? T_22 : T_22 extends "mat4" ? T extends "vec4" ? T : T_22 : T_22 extends "mat3" ? T extends "vec3" ? T : T_22 : T_22 extends "mat2" ? T extends "vec2" ? T : T_22 : T_22 extends "vec4" ? T extends "mat4" ? T_22 : T_22 : T_22 extends "vec3" ? T extends "mat3" ? T_22 : T_22 : T_22 extends "vec2" ? T extends "mat2" ? T_22 : T_22 : T_22 : never : never) extends infer T_23 ? T_23 extends ("float" extends infer T_24 ? T_24 extends "float" ? T_24 extends T ? T_24 : T_24 extends "int" | "float" ? T : T extends "int" | "float" ? T_24 : T_24 extends "mat4" ? T extends "vec4" ? T : T_24 : T_24 extends "mat3" ? T extends "vec3" ? T : T_24 : T_24 extends "mat2" ? T extends "vec2" ? T : T_24 : T_24 extends "vec4" ? T extends "mat4" ? T_24 : T_24 : T_24 extends "vec3" ? T extends "mat3" ? T_24 : T_24 : T_24 extends "vec2" ? T extends "mat2" ? T_24 : T_24 : T_24 : never : never) ? T_23 extends "int" | "float" ? T_19 : T_19 extends "mat4" ? T_23 extends "vec4" ? T_23 : T_19 : T_19 extends "mat3" ? T_23 extends "vec3" ? T_23 : T_19 : T_19 extends "mat2" ? T_23 extends "vec2" ? T_23 : T_19 : T_19 extends "vec4" ? T_23 extends "mat4" ? T_19 : T_19 : T_19 extends "vec3" ? T_23 extends "mat3" ? T_19 : T_19 : T_19 extends "vec2" ? T_23 extends "mat2" ? T_19 : T_19 : T_19 : never : never : never : never> | NodeProxy<"uint" extends infer T_25 ? T_25 extends "uint" ? T_25 extends ("float" extends infer T_26 ? T_26 extends "float" ? T_26 extends T ? T_26 : T_26 extends "int" | "float" ? T : T extends "int" | "float" ? T_26 : T_26 extends "mat4" ? T extends "vec4" ? T : T_26 : T_26 extends "mat3" ? T extends "vec3" ? T : T_26 : T_26 extends "mat2" ? T extends "vec2" ? T : T_26 : T_26 extends "vec4" ? T extends "mat4" ? T_26 : T_26 : T_26 extends "vec3" ? T extends "mat3" ? T_26 : T_26 : T_26 extends "vec2" ? T extends "mat2" ? T_26 : T_26 : T_26 : never : never) ? T_25 : T_25 extends "int" | "float" ? "float" extends infer T_27 ? T_27 extends "float" ? T_27 extends T ? T_27 : T_27 extends "int" | "float" ? T : T extends "int" | "float" ? T_27 : T_27 extends "mat4" ? T extends "vec4" ? T : T_27 : T_27 extends "mat3" ? T extends "vec3" ? T : T_27 : T_27 extends "mat2" ? T extends "vec2" ? T : T_27 : T_27 extends "vec4" ? T extends "mat4" ? T_27 : T_27 : T_27 extends "vec3" ? T extends "mat3" ? T_27 : T_27 : T_27 extends "vec2" ? T extends "mat2" ? T_27 : T_27 : T_27 : never : never : ("float" extends infer T_28 ? T_28 extends "float" ? T_28 extends T ? T_28 : T_28 extends "int" | "float" ? T : T extends "int" | "float" ? T_28 : T_28 extends "mat4" ? T extends "vec4" ? T : T_28 : T_28 extends "mat3" ? T extends "vec3" ? T : T_28 : T_28 extends "mat2" ? T extends "vec2" ? T : T_28 : T_28 extends "vec4" ? T extends "mat4" ? T_28 : T_28 : T_28 extends "vec3" ? T extends "mat3" ? T_28 : T_28 : T_28 extends "vec2" ? T extends "mat2" ? T_28 : T_28 : T_28 : never : never) extends infer T_29 ? T_29 extends ("float" extends infer T_30 ? T_30 extends "float" ? T_30 extends T ? T_30 : T_30 extends "int" | "float" ? T : T extends "int" | "float" ? T_30 : T_30 extends "mat4" ? T extends "vec4" ? T : T_30 : T_30 extends "mat3" ? T extends "vec3" ? T : T_30 : T_30 extends "mat2" ? T extends "vec2" ? T : T_30 : T_30 extends "vec4" ? T extends "mat4" ? T_30 : T_30 : T_30 extends "vec3" ? T extends "mat3" ? T_30 : T_30 : T_30 extends "vec2" ? T extends "mat2" ? T_30 : T_30 : T_30 : never : never) ? T_29 extends "int" | "float" ? T_25 : T_25 extends "mat4" ? T_29 extends "vec4" ? T_29 : T_25 : T_25 extends "mat3" ? T_29 extends "vec3" ? T_29 : T_25 : T_25 extends "mat2" ? T_29 extends "vec2" ? T_29 : T_25 : T_25 extends "vec4" ? T_29 extends "mat4" ? T_25 : T_25 : T_25 extends "vec3" ? T_29 extends "mat3" ? T_25 : T_25 : T_25 extends "vec2" ? T_29 extends "mat2" ? T_25 : T_25 : T_25 : never : never : never : never> | NodeProxy<"int" extends infer T_31 ? T_31 extends "int" ? T_31 extends ("float" extends infer T_32 ? T_32 extends "float" ? T_32 extends T ? T_32 : T_32 extends "int" | "float" ? T : T extends "int" | "float" ? T_32 : T_32 extends "mat4" ? T extends "vec4" ? T : T_32 : T_32 extends "mat3" ? T extends "vec3" ? T : T_32 : T_32 extends "mat2" ? T extends "vec2" ? T : T_32 : T_32 extends "vec4" ? T extends "mat4" ? T_32 : T_32 : T_32 extends "vec3" ? T extends "mat3" ? T_32 : T_32 : T_32 extends "vec2" ? T extends "mat2" ? T_32 : T_32 : T_32 : never : never) ? T_31 : T_31 extends "int" | "float" ? "float" extends infer T_33 ? T_33 extends "float" ? T_33 extends T ? T_33 : T_33 extends "int" | "float" ? T : T extends "int" | "float" ? T_33 : T_33 extends "mat4" ? T extends "vec4" ? T : T_33 : T_33 extends "mat3" ? T extends "vec3" ? T : T_33 : T_33 extends "mat2" ? T extends "vec2" ? T : T_33 : T_33 extends "vec4" ? T extends "mat4" ? T_33 : T_33 : T_33 extends "vec3" ? T extends "mat3" ? T_33 : T_33 : T_33 extends "vec2" ? T extends "mat2" ? T_33 : T_33 : T_33 : never : never : ("float" extends infer T_34 ? T_34 extends "float" ? T_34 extends T ? T_34 : T_34 extends "int" | "float" ? T : T extends "int" | "float" ? T_34 : T_34 extends "mat4" ? T extends "vec4" ? T : T_34 : T_34 extends "mat3" ? T extends "vec3" ? T : T_34 : T_34 extends "mat2" ? T extends "vec2" ? T : T_34 : T_34 extends "vec4" ? T extends "mat4" ? T_34 : T_34 : T_34 extends "vec3" ? T extends "mat3" ? T_34 : T_34 : T_34 extends "vec2" ? T extends "mat2" ? T_34 : T_34 : T_34 : never : never) extends infer T_35 ? T_35 extends ("float" extends infer T_36 ? T_36 extends "float" ? T_36 extends T ? T_36 : T_36 extends "int" | "float" ? T : T extends "int" | "float" ? T_36 : T_36 extends "mat4" ? T extends "vec4" ? T : T_36 : T_36 extends "mat3" ? T extends "vec3" ? T : T_36 : T_36 extends "mat2" ? T extends "vec2" ? T : T_36 : T_36 extends "vec4" ? T extends "mat4" ? T_36 : T_36 : T_36 extends "vec3" ? T extends "mat3" ? T_36 : T_36 : T_36 extends "vec2" ? T extends "mat2" ? T_36 : T_36 : T_36 : never : never) ? T_35 extends "int" | "float" ? T_31 : T_31 extends "mat4" ? T_35 extends "vec4" ? T_35 : T_31 : T_31 extends "mat3" ? T_35 extends "vec3" ? T_35 : T_31 : T_31 extends "mat2" ? T_35 extends "vec2" ? T_35 : T_31 : T_31 extends "vec4" ? T_35 extends "mat4" ? T_31 : T_31 : T_31 extends "vec3" ? T_35 extends "mat3" ? T_31 : T_31 : T_31 extends "vec2" ? T_35 extends "mat2" ? T_31 : T_31 : T_31 : never : never : never : never> | NodeProxy<"float" extends infer T_37 ? T_37 extends "float" ? T_37 extends ("float" extends infer T_38 ? T_38 extends "float" ? T_38 extends T ? T_38 : T_38 extends "int" | "float" ? T : T extends "int" | "float" ? T_38 : T_38 extends "mat4" ? T extends "vec4" ? T : T_38 : T_38 extends "mat3" ? T extends "vec3" ? T : T_38 : T_38 extends "mat2" ? T extends "vec2" ? T : T_38 : T_38 extends "vec4" ? T extends "mat4" ? T_38 : T_38 : T_38 extends "vec3" ? T extends "mat3" ? T_38 : T_38 : T_38 extends "vec2" ? T extends "mat2" ? T_38 : T_38 : T_38 : never : never) ? T_37 : T_37 extends "int" | "float" ? "float" extends infer T_39 ? T_39 extends "float" ? T_39 extends T ? T_39 : T_39 extends "int" | "float" ? T : T extends "int" | "float" ? T_39 : T_39 extends "mat4" ? T extends "vec4" ? T : T_39 : T_39 extends "mat3" ? T extends "vec3" ? T : T_39 : T_39 extends "mat2" ? T extends "vec2" ? T : T_39 : T_39 extends "vec4" ? T extends "mat4" ? T_39 : T_39 : T_39 extends "vec3" ? T extends "mat3" ? T_39 : T_39 : T_39 extends "vec2" ? T extends "mat2" ? T_39 : T_39 : T_39 : never : never : ("float" extends infer T_40 ? T_40 extends "float" ? T_40 extends T ? T_40 : T_40 extends "int" | "float" ? T : T extends "int" | "float" ? T_40 : T_40 extends "mat4" ? T extends "vec4" ? T : T_40 : T_40 extends "mat3" ? T extends "vec3" ? T : T_40 : T_40 extends "mat2" ? T extends "vec2" ? T : T_40 : T_40 extends "vec4" ? T extends "mat4" ? T_40 : T_40 : T_40 extends "vec3" ? T extends "mat3" ? T_40 : T_40 : T_40 extends "vec2" ? T extends "mat2" ? T_40 : T_40 : T_40 : never : never) extends infer T_41 ? T_41 extends ("float" extends infer T_42 ? T_42 extends "float" ? T_42 extends T ? T_42 : T_42 extends "int" | "float" ? T : T extends "int" | "float" ? T_42 : T_42 extends "mat4" ? T extends "vec4" ? T : T_42 : T_42 extends "mat3" ? T extends "vec3" ? T : T_42 : T_42 extends "mat2" ? T extends "vec2" ? T : T_42 : T_42 extends "vec4" ? T extends "mat4" ? T_42 : T_42 : T_42 extends "vec3" ? T extends "mat3" ? T_42 : T_42 : T_42 extends "vec2" ? T extends "mat2" ? T_42 : T_42 : T_42 : never : never) ? T_41 extends "int" | "float" ? T_37 : T_37 extends "mat4" ? T_41 extends "vec4" ? T_41 : T_37 : T_37 extends "mat3" ? T_41 extends "vec3" ? T_41 : T_37 : T_37 extends "mat2" ? T_41 extends "vec2" ? T_41 : T_37 : T_37 extends "vec4" ? T_41 extends "mat4" ? T_37 : T_37 : T_37 extends "vec3" ? T_41 extends "mat3" ? T_37 : T_37 : T_37 extends "vec2" ? T_41 extends "mat2" ? T_37 : T_37 : T_37 : never : never : never : never> | NodeProxy<"bvec2" extends infer T_43 ? T_43 extends "bvec2" ? T_43 extends ("float" extends infer T_44 ? T_44 extends "float" ? T_44 extends T ? T_44 : T_44 extends "int" | "float" ? T : T extends "int" | "float" ? T_44 : T_44 extends "mat4" ? T extends "vec4" ? T : T_44 : T_44 extends "mat3" ? T extends "vec3" ? T : T_44 : T_44 extends "mat2" ? T extends "vec2" ? T : T_44 : T_44 extends "vec4" ? T extends "mat4" ? T_44 : T_44 : T_44 extends "vec3" ? T extends "mat3" ? T_44 : T_44 : T_44 extends "vec2" ? T extends "mat2" ? T_44 : T_44 : T_44 : never : never) ? T_43 : T_43 extends "int" | "float" ? "float" extends infer T_45 ? T_45 extends "float" ? T_45 extends T ? T_45 : T_45 extends "int" | "float" ? T : T extends "int" | "float" ? T_45 : T_45 extends "mat4" ? T extends "vec4" ? T : T_45 : T_45 extends "mat3" ? T extends "vec3" ? T : T_45 : T_45 extends "mat2" ? T extends "vec2" ? T : T_45 : T_45 extends "vec4" ? T extends "mat4" ? T_45 : T_45 : T_45 extends "vec3" ? T extends "mat3" ? T_45 : T_45 : T_45 extends "vec2" ? T extends "mat2" ? T_45 : T_45 : T_45 : never : never : ("float" extends infer T_46 ? T_46 extends "float" ? T_46 extends T ? T_46 : T_46 extends "int" | "float" ? T : T extends "int" | "float" ? T_46 : T_46 extends "mat4" ? T extends "vec4" ? T : T_46 : T_46 extends "mat3" ? T extends "vec3" ? T : T_46 : T_46 extends "mat2" ? T extends "vec2" ? T : T_46 : T_46 extends "vec4" ? T extends "mat4" ? T_46 : T_46 : T_46 extends "vec3" ? T extends "mat3" ? T_46 : T_46 : T_46 extends "vec2" ? T extends "mat2" ? T_46 : T_46 : T_46 : never : never) extends infer T_47 ? T_47 extends ("float" extends infer T_48 ? T_48 extends "float" ? T_48 extends T ? T_48 : T_48 extends "int" | "float" ? T : T extends "int" | "float" ? T_48 : T_48 extends "mat4" ? T extends "vec4" ? T : T_48 : T_48 extends "mat3" ? T extends "vec3" ? T : T_48 : T_48 extends "mat2" ? T extends "vec2" ? T : T_48 : T_48 extends "vec4" ? T extends "mat4" ? T_48 : T_48 : T_48 extends "vec3" ? T extends "mat3" ? T_48 : T_48 : T_48 extends "vec2" ? T extends "mat2" ? T_48 : T_48 : T_48 : never : never) ? T_47 extends "int" | "float" ? T_43 : T_43 extends "mat4" ? T_47 extends "vec4" ? T_47 : T_43 : T_43 extends "mat3" ? T_47 extends "vec3" ? T_47 : T_43 : T_43 extends "mat2" ? T_47 extends "vec2" ? T_47 : T_43 : T_43 extends "vec4" ? T_47 extends "mat4" ? T_43 : T_43 : T_43 extends "vec3" ? T_47 extends "mat3" ? T_43 : T_43 : T_43 extends "vec2" ? T_47 extends "mat2" ? T_43 : T_43 : T_43 : never : never : never : never> | NodeProxy<"ivec2" extends infer T_49 ? T_49 extends "ivec2" ? T_49 extends ("float" extends infer T_50 ? T_50 extends "float" ? T_50 extends T ? T_50 : T_50 extends "int" | "float" ? T : T extends "int" | "float" ? T_50 : T_50 extends "mat4" ? T extends "vec4" ? T : T_50 : T_50 extends "mat3" ? T extends "vec3" ? T : T_50 : T_50 extends "mat2" ? T extends "vec2" ? T : T_50 : T_50 extends "vec4" ? T extends "mat4" ? T_50 : T_50 : T_50 extends "vec3" ? T extends "mat3" ? T_50 : T_50 : T_50 extends "vec2" ? T extends "mat2" ? T_50 : T_50 : T_50 : never : never) ? T_49 : T_49 extends "int" | "float" ? "float" extends infer T_51 ? T_51 extends "float" ? T_51 extends T ? T_51 : T_51 extends "int" | "float" ? T : T extends "int" | "float" ? T_51 : T_51 extends "mat4" ? T extends "vec4" ? T : T_51 : T_51 extends "mat3" ? T extends "vec3" ? T : T_51 : T_51 extends "mat2" ? T extends "vec2" ? T : T_51 : T_51 extends "vec4" ? T extends "mat4" ? T_51 : T_51 : T_51 extends "vec3" ? T extends "mat3" ? T_51 : T_51 : T_51 extends "vec2" ? T extends "mat2" ? T_51 : T_51 : T_51 : never : never : ("float" extends infer T_52 ? T_52 extends "float" ? T_52 extends T ? T_52 : T_52 extends "int" | "float" ? T : T extends "int" | "float" ? T_52 : T_52 extends "mat4" ? T extends "vec4" ? T : T_52 : T_52 extends "mat3" ? T extends "vec3" ? T : T_52 : T_52 extends "mat2" ? T extends "vec2" ? T : T_52 : T_52 extends "vec4" ? T extends "mat4" ? T_52 : T_52 : T_52 extends "vec3" ? T extends "mat3" ? T_52 : T_52 : T_52 extends "vec2" ? T extends "mat2" ? T_52 : T_52 : T_52 : never : never) extends infer T_53 ? T_53 extends ("float" extends infer T_54 ? T_54 extends "float" ? T_54 extends T ? T_54 : T_54 extends "int" | "float" ? T : T extends "int" | "float" ? T_54 : T_54 extends "mat4" ? T extends "vec4" ? T : T_54 : T_54 extends "mat3" ? T extends "vec3" ? T : T_54 : T_54 extends "mat2" ? T extends "vec2" ? T : T_54 : T_54 extends "vec4" ? T extends "mat4" ? T_54 : T_54 : T_54 extends "vec3" ? T extends "mat3" ? T_54 : T_54 : T_54 extends "vec2" ? T extends "mat2" ? T_54 : T_54 : T_54 : never : never) ? T_53 extends "int" | "float" ? T_49 : T_49 extends "mat4" ? T_53 extends "vec4" ? T_53 : T_49 : T_49 extends "mat3" ? T_53 extends "vec3" ? T_53 : T_49 : T_49 extends "mat2" ? T_53 extends "vec2" ? T_53 : T_49 : T_49 extends "vec4" ? T_53 extends "mat4" ? T_49 : T_49 : T_49 extends "vec3" ? T_53 extends "mat3" ? T_49 : T_49 : T_49 extends "vec2" ? T_53 extends "mat2" ? T_49 : T_49 : T_49 : never : never : never : never> | NodeProxy<"uvec2" extends infer T_55 ? T_55 extends "uvec2" ? T_55 extends ("float" extends infer T_56 ? T_56 extends "float" ? T_56 extends T ? T_56 : T_56 extends "int" | "float" ? T : T extends "int" | "float" ? T_56 : T_56 extends "mat4" ? T extends "vec4" ? T : T_56 : T_56 extends "mat3" ? T extends "vec3" ? T : T_56 : T_56 extends "mat2" ? T extends "vec2" ? T : T_56 : T_56 extends "vec4" ? T extends "mat4" ? T_56 : T_56 : T_56 extends "vec3" ? T extends "mat3" ? T_56 : T_56 : T_56 extends "vec2" ? T extends "mat2" ? T_56 : T_56 : T_56 : never : never) ? T_55 : T_55 extends "int" | "float" ? "float" extends infer T_57 ? T_57 extends "float" ? T_57 extends T ? T_57 : T_57 extends "int" | "float" ? T : T extends "int" | "float" ? T_57 : T_57 extends "mat4" ? T extends "vec4" ? T : T_57 : T_57 extends "mat3" ? T extends "vec3" ? T : T_57 : T_57 extends "mat2" ? T extends "vec2" ? T : T_57 : T_57 extends "vec4" ? T extends "mat4" ? T_57 : T_57 : T_57 extends "vec3" ? T extends "mat3" ? T_57 : T_57 : T_57 extends "vec2" ? T extends "mat2" ? T_57 : T_57 : T_57 : never : never : ("float" extends infer T_58 ? T_58 extends "float" ? T_58 extends T ? T_58 : T_58 extends "int" | "float" ? T : T extends "int" | "float" ? T_58 : T_58 extends "mat4" ? T extends "vec4" ? T : T_58 : T_58 extends "mat3" ? T extends "vec3" ? T : T_58 : T_58 extends "mat2" ? T extends "vec2" ? T : T_58 : T_58 extends "vec4" ? T extends "mat4" ? T_58 : T_58 : T_58 extends "vec3" ? T extends "mat3" ? T_58 : T_58 : T_58 extends "vec2" ? T extends "mat2" ? T_58 : T_58 : T_58 : never : never) extends infer T_59 ? T_59 extends ("float" extends infer T_60 ? T_60 extends "float" ? T_60 extends T ? T_60 : T_60 extends "int" | "float" ? T : T extends "int" | "float" ? T_60 : T_60 extends "mat4" ? T extends "vec4" ? T : T_60 : T_60 extends "mat3" ? T extends "vec3" ? T : T_60 : T_60 extends "mat2" ? T extends "vec2" ? T : T_60 : T_60 extends "vec4" ? T extends "mat4" ? T_60 : T_60 : T_60 extends "vec3" ? T extends "mat3" ? T_60 : T_60 : T_60 extends "vec2" ? T extends "mat2" ? T_60 : T_60 : T_60 : never : never) ? T_59 extends "int" | "float" ? T_55 : T_55 extends "mat4" ? T_59 extends "vec4" ? T_59 : T_55 : T_55 extends "mat3" ? T_59 extends "vec3" ? T_59 : T_55 : T_55 extends "mat2" ? T_59 extends "vec2" ? T_59 : T_55 : T_55 extends "vec4" ? T_59 extends "mat4" ? T_55 : T_55 : T_55 extends "vec3" ? T_59 extends "mat3" ? T_55 : T_55 : T_55 extends "vec2" ? T_59 extends "mat2" ? T_55 : T_55 : T_55 : never : never : never : never> | NodeProxy<"vec2" extends infer T_61 ? T_61 extends "vec2" ? T_61 extends ("float" extends infer T_62 ? T_62 extends "float" ? T_62 extends T ? T_62 : T_62 extends "int" | "float" ? T : T extends "int" | "float" ? T_62 : T_62 extends "mat4" ? T extends "vec4" ? T : T_62 : T_62 extends "mat3" ? T extends "vec3" ? T : T_62 : T_62 extends "mat2" ? T extends "vec2" ? T : T_62 : T_62 extends "vec4" ? T extends "mat4" ? T_62 : T_62 : T_62 extends "vec3" ? T extends "mat3" ? T_62 : T_62 : T_62 extends "vec2" ? T extends "mat2" ? T_62 : T_62 : T_62 : never : never) ? T_61 : T_61 extends "int" | "float" ? "float" extends infer T_63 ? T_63 extends "float" ? T_63 extends T ? T_63 : T_63 extends "int" | "float" ? T : T extends "int" | "float" ? T_63 : T_63 extends "mat4" ? T extends "vec4" ? T : T_63 : T_63 extends "mat3" ? T extends "vec3" ? T : T_63 : T_63 extends "mat2" ? T extends "vec2" ? T : T_63 : T_63 extends "vec4" ? T extends "mat4" ? T_63 : T_63 : T_63 extends "vec3" ? T extends "mat3" ? T_63 : T_63 : T_63 extends "vec2" ? T extends "mat2" ? T_63 : T_63 : T_63 : never : never : ("float" extends infer T_64 ? T_64 extends "float" ? T_64 extends T ? T_64 : T_64 extends "int" | "float" ? T : T extends "int" | "float" ? T_64 : T_64 extends "mat4" ? T extends "vec4" ? T : T_64 : T_64 extends "mat3" ? T extends "vec3" ? T : T_64 : T_64 extends "mat2" ? T extends "vec2" ? T : T_64 : T_64 extends "vec4" ? T extends "mat4" ? T_64 : T_64 : T_64 extends "vec3" ? T extends "mat3" ? T_64 : T_64 : T_64 extends "vec2" ? T extends "mat2" ? T_64 : T_64 : T_64 : never : never) extends infer T_65 ? T_65 extends ("float" extends infer T_66 ? T_66 extends "float" ? T_66 extends T ? T_66 : T_66 extends "int" | "float" ? T : T extends "int" | "float" ? T_66 : T_66 extends "mat4" ? T extends "vec4" ? T : T_66 : T_66 extends "mat3" ? T extends "vec3" ? T : T_66 : T_66 extends "mat2" ? T extends "vec2" ? T : T_66 : T_66 extends "vec4" ? T extends "mat4" ? T_66 : T_66 : T_66 extends "vec3" ? T extends "mat3" ? T_66 : T_66 : T_66 extends "vec2" ? T extends "mat2" ? T_66 : T_66 : T_66 : never : never) ? T_65 extends "int" | "float" ? T_61 : T_61 extends "mat4" ? T_65 extends "vec4" ? T_65 : T_61 : T_61 extends "mat3" ? T_65 extends "vec3" ? T_65 : T_61 : T_61 extends "mat2" ? T_65 extends "vec2" ? T_65 : T_61 : T_61 extends "vec4" ? T_65 extends "mat4" ? T_61 : T_61 : T_61 extends "vec3" ? T_65 extends "mat3" ? T_61 : T_61 : T_61 extends "vec2" ? T_65 extends "mat2" ? T_61 : T_61 : T_61 : never : never : never : never> | NodeProxy<"bvec3" extends infer T_67 ? T_67 extends "bvec3" ? T_67 extends ("float" extends infer T_68 ? T_68 extends "float" ? T_68 extends T ? T_68 : T_68 extends "int" | "float" ? T : T extends "int" | "float" ? T_68 : T_68 extends "mat4" ? T extends "vec4" ? T : T_68 : T_68 extends "mat3" ? T extends "vec3" ? T : T_68 : T_68 extends "mat2" ? T extends "vec2" ? T : T_68 : T_68 extends "vec4" ? T extends "mat4" ? T_68 : T_68 : T_68 extends "vec3" ? T extends "mat3" ? T_68 : T_68 : T_68 extends "vec2" ? T extends "mat2" ? T_68 : T_68 : T_68 : never : never) ? T_67 : T_67 extends "int" | "float" ? "float" extends infer T_69 ? T_69 extends "float" ? T_69 extends T ? T_69 : T_69 extends "int" | "float" ? T : T extends "int" | "float" ? T_69 : T_69 extends "mat4" ? T extends "vec4" ? T : T_69 : T_69 extends "mat3" ? T extends "vec3" ? T : T_69 : T_69 extends "mat2" ? T extends "vec2" ? T : T_69 : T_69 extends "vec4" ? T extends "mat4" ? T_69 : T_69 : T_69 extends "vec3" ? T extends "mat3" ? T_69 : T_69 : T_69 extends "vec2" ? T extends "mat2" ? T_69 : T_69 : T_69 : never : never : ("float" extends infer T_70 ? T_70 extends "float" ? T_70 extends T ? T_70 : T_70 extends "int" | "float" ? T : T extends "int" | "float" ? T_70 : T_70 extends "mat4" ? T extends "vec4" ? T : T_70 : T_70 extends "mat3" ? T extends "vec3" ? T : T_70 : T_70 extends "mat2" ? T extends "vec2" ? T : T_70 : T_70 extends "vec4" ? T extends "mat4" ? T_70 : T_70 : T_70 extends "vec3" ? T extends "mat3" ? T_70 : T_70 : T_70 extends "vec2" ? T extends "mat2" ? T_70 : T_70 : T_70 : never : never) extends infer T_71 ? T_71 extends ("float" extends infer T_72 ? T_72 extends "float" ? T_72 extends T ? T_72 : T_72 extends "int" | "float" ? T : T extends "int" | "float" ? T_72 : T_72 extends "mat4" ? T extends "vec4" ? T : T_72 : T_72 extends "mat3" ? T extends "vec3" ? T : T_72 : T_72 extends "mat2" ? T extends "vec2" ? T : T_72 : T_72 extends "vec4" ? T extends "mat4" ? T_72 : T_72 : T_72 extends "vec3" ? T extends "mat3" ? T_72 : T_72 : T_72 extends "vec2" ? T extends "mat2" ? T_72 : T_72 : T_72 : never : never) ? T_71 extends "int" | "float" ? T_67 : T_67 extends "mat4" ? T_71 extends "vec4" ? T_71 : T_67 : T_67 extends "mat3" ? T_71 extends "vec3" ? T_71 : T_67 : T_67 extends "mat2" ? T_71 extends "vec2" ? T_71 : T_67 : T_67 extends "vec4" ? T_71 extends "mat4" ? T_67 : T_67 : T_67 extends "vec3" ? T_71 extends "mat3" ? T_67 : T_67 : T_67 extends "vec2" ? T_71 extends "mat2" ? T_67 : T_67 : T_67 : never : never : never : never> | NodeProxy<"ivec3" extends infer T_73 ? T_73 extends "ivec3" ? T_73 extends ("float" extends infer T_74 ? T_74 extends "float" ? T_74 extends T ? T_74 : T_74 extends "int" | "float" ? T : T extends "int" | "float" ? T_74 : T_74 extends "mat4" ? T extends "vec4" ? T : T_74 : T_74 extends "mat3" ? T extends "vec3" ? T : T_74 : T_74 extends "mat2" ? T extends "vec2" ? T : T_74 : T_74 extends "vec4" ? T extends "mat4" ? T_74 : T_74 : T_74 extends "vec3" ? T extends "mat3" ? T_74 : T_74 : T_74 extends "vec2" ? T extends "mat2" ? T_74 : T_74 : T_74 : never : never) ? T_73 : T_73 extends "int" | "float" ? "float" extends infer T_75 ? T_75 extends "float" ? T_75 extends T ? T_75 : T_75 extends "int" | "float" ? T : T extends "int" | "float" ? T_75 : T_75 extends "mat4" ? T extends "vec4" ? T : T_75 : T_75 extends "mat3" ? T extends "vec3" ? T : T_75 : T_75 extends "mat2" ? T extends "vec2" ? T : T_75 : T_75 extends "vec4" ? T extends "mat4" ? T_75 : T_75 : T_75 extends "vec3" ? T extends "mat3" ? T_75 : T_75 : T_75 extends "vec2" ? T extends "mat2" ? T_75 : T_75 : T_75 : never : never : ("float" extends infer T_76 ? T_76 extends "float" ? T_76 extends T ? T_76 : T_76 extends "int" | "float" ? T : T extends "int" | "float" ? T_76 : T_76 extends "mat4" ? T extends "vec4" ? T : T_76 : T_76 extends "mat3" ? T extends "vec3" ? T : T_76 : T_76 extends "mat2" ? T extends "vec2" ? T : T_76 : T_76 extends "vec4" ? T extends "mat4" ? T_76 : T_76 : T_76 extends "vec3" ? T extends "mat3" ? T_76 : T_76 : T_76 extends "vec2" ? T extends "mat2" ? T_76 : T_76 : T_76 : never : never) extends infer T_77 ? T_77 extends ("float" extends infer T_78 ? T_78 extends "float" ? T_78 extends T ? T_78 : T_78 extends "int" | "float" ? T : T extends "int" | "float" ? T_78 : T_78 extends "mat4" ? T extends "vec4" ? T : T_78 : T_78 extends "mat3" ? T extends "vec3" ? T : T_78 : T_78 extends "mat2" ? T extends "vec2" ? T : T_78 : T_78 extends "vec4" ? T extends "mat4" ? T_78 : T_78 : T_78 extends "vec3" ? T extends "mat3" ? T_78 : T_78 : T_78 extends "vec2" ? T extends "mat2" ? T_78 : T_78 : T_78 : never : never) ? T_77 extends "int" | "float" ? T_73 : T_73 extends "mat4" ? T_77 extends "vec4" ? T_77 : T_73 : T_73 extends "mat3" ? T_77 extends "vec3" ? T_77 : T_73 : T_73 extends "mat2" ? T_77 extends "vec2" ? T_77 : T_73 : T_73 extends "vec4" ? T_77 extends "mat4" ? T_73 : T_73 : T_73 extends "vec3" ? T_77 extends "mat3" ? T_73 : T_73 : T_73 extends "vec2" ? T_77 extends "mat2" ? T_73 : T_73 : T_73 : never : never : never : never> | NodeProxy<"uvec3" extends infer T_79 ? T_79 extends "uvec3" ? T_79 extends ("float" extends infer T_80 ? T_80 extends "float" ? T_80 extends T ? T_80 : T_80 extends "int" | "float" ? T : T extends "int" | "float" ? T_80 : T_80 extends "mat4" ? T extends "vec4" ? T : T_80 : T_80 extends "mat3" ? T extends "vec3" ? T : T_80 : T_80 extends "mat2" ? T extends "vec2" ? T : T_80 : T_80 extends "vec4" ? T extends "mat4" ? T_80 : T_80 : T_80 extends "vec3" ? T extends "mat3" ? T_80 : T_80 : T_80 extends "vec2" ? T extends "mat2" ? T_80 : T_80 : T_80 : never : never) ? T_79 : T_79 extends "int" | "float" ? "float" extends infer T_81 ? T_81 extends "float" ? T_81 extends T ? T_81 : T_81 extends "int" | "float" ? T : T extends "int" | "float" ? T_81 : T_81 extends "mat4" ? T extends "vec4" ? T : T_81 : T_81 extends "mat3" ? T extends "vec3" ? T : T_81 : T_81 extends "mat2" ? T extends "vec2" ? T : T_81 : T_81 extends "vec4" ? T extends "mat4" ? T_81 : T_81 : T_81 extends "vec3" ? T extends "mat3" ? T_81 : T_81 : T_81 extends "vec2" ? T extends "mat2" ? T_81 : T_81 : T_81 : never : never : ("float" extends infer T_82 ? T_82 extends "float" ? T_82 extends T ? T_82 : T_82 extends "int" | "float" ? T : T extends "int" | "float" ? T_82 : T_82 extends "mat4" ? T extends "vec4" ? T : T_82 : T_82 extends "mat3" ? T extends "vec3" ? T : T_82 : T_82 extends "mat2" ? T extends "vec2" ? T : T_82 : T_82 extends "vec4" ? T extends "mat4" ? T_82 : T_82 : T_82 extends "vec3" ? T extends "mat3" ? T_82 : T_82 : T_82 extends "vec2" ? T extends "mat2" ? T_82 : T_82 : T_82 : never : never) extends infer T_83 ? T_83 extends ("float" extends infer T_84 ? T_84 extends "float" ? T_84 extends T ? T_84 : T_84 extends "int" | "float" ? T : T extends "int" | "float" ? T_84 : T_84 extends "mat4" ? T extends "vec4" ? T : T_84 : T_84 extends "mat3" ? T extends "vec3" ? T : T_84 : T_84 extends "mat2" ? T extends "vec2" ? T : T_84 : T_84 extends "vec4" ? T extends "mat4" ? T_84 : T_84 : T_84 extends "vec3" ? T extends "mat3" ? T_84 : T_84 : T_84 extends "vec2" ? T extends "mat2" ? T_84 : T_84 : T_84 : never : never) ? T_83 extends "int" | "float" ? T_79 : T_79 extends "mat4" ? T_83 extends "vec4" ? T_83 : T_79 : T_79 extends "mat3" ? T_83 extends "vec3" ? T_83 : T_79 : T_79 extends "mat2" ? T_83 extends "vec2" ? T_83 : T_79 : T_79 extends "vec4" ? T_83 extends "mat4" ? T_79 : T_79 : T_79 extends "vec3" ? T_83 extends "mat3" ? T_79 : T_79 : T_79 extends "vec2" ? T_83 extends "mat2" ? T_79 : T_79 : T_79 : never : never : never : never> | NodeProxy<"vec3" extends infer T_85 ? T_85 extends "vec3" ? T_85 extends ("float" extends infer T_86 ? T_86 extends "float" ? T_86 extends T ? T_86 : T_86 extends "int" | "float" ? T : T extends "int" | "float" ? T_86 : T_86 extends "mat4" ? T extends "vec4" ? T : T_86 : T_86 extends "mat3" ? T extends "vec3" ? T : T_86 : T_86 extends "mat2" ? T extends "vec2" ? T : T_86 : T_86 extends "vec4" ? T extends "mat4" ? T_86 : T_86 : T_86 extends "vec3" ? T extends "mat3" ? T_86 : T_86 : T_86 extends "vec2" ? T extends "mat2" ? T_86 : T_86 : T_86 : never : never) ? T_85 : T_85 extends "int" | "float" ? "float" extends infer T_87 ? T_87 extends "float" ? T_87 extends T ? T_87 : T_87 extends "int" | "float" ? T : T extends "int" | "float" ? T_87 : T_87 extends "mat4" ? T extends "vec4" ? T : T_87 : T_87 extends "mat3" ? T extends "vec3" ? T : T_87 : T_87 extends "mat2" ? T extends "vec2" ? T : T_87 : T_87 extends "vec4" ? T extends "mat4" ? T_87 : T_87 : T_87 extends "vec3" ? T extends "mat3" ? T_87 : T_87 : T_87 extends "vec2" ? T extends "mat2" ? T_87 : T_87 : T_87 : never : never : ("float" extends infer T_88 ? T_88 extends "float" ? T_88 extends T ? T_88 : T_88 extends "int" | "float" ? T : T extends "int" | "float" ? T_88 : T_88 extends "mat4" ? T extends "vec4" ? T : T_88 : T_88 extends "mat3" ? T extends "vec3" ? T : T_88 : T_88 extends "mat2" ? T extends "vec2" ? T : T_88 : T_88 extends "vec4" ? T extends "mat4" ? T_88 : T_88 : T_88 extends "vec3" ? T extends "mat3" ? T_88 : T_88 : T_88 extends "vec2" ? T extends "mat2" ? T_88 : T_88 : T_88 : never : never) extends infer T_89 ? T_89 extends ("float" extends infer T_90 ? T_90 extends "float" ? T_90 extends T ? T_90 : T_90 extends "int" | "float" ? T : T extends "int" | "float" ? T_90 : T_90 extends "mat4" ? T extends "vec4" ? T : T_90 : T_90 extends "mat3" ? T extends "vec3" ? T : T_90 : T_90 extends "mat2" ? T extends "vec2" ? T : T_90 : T_90 extends "vec4" ? T extends "mat4" ? T_90 : T_90 : T_90 extends "vec3" ? T extends "mat3" ? T_90 : T_90 : T_90 extends "vec2" ? T extends "mat2" ? T_90 : T_90 : T_90 : never : never) ? T_89 extends "int" | "float" ? T_85 : T_85 extends "mat4" ? T_89 extends "vec4" ? T_89 : T_85 : T_85 extends "mat3" ? T_89 extends "vec3" ? T_89 : T_85 : T_85 extends "mat2" ? T_89 extends "vec2" ? T_89 : T_85 : T_85 extends "vec4" ? T_89 extends "mat4" ? T_85 : T_85 : T_85 extends "vec3" ? T_89 extends "mat3" ? T_85 : T_85 : T_85 extends "vec2" ? T_89 extends "mat2" ? T_85 : T_85 : T_85 : never : never : never : never> | NodeProxy<"bvec4" extends infer T_91 ? T_91 extends "bvec4" ? T_91 extends ("float" extends infer T_92 ? T_92 extends "float" ? T_92 extends T ? T_92 : T_92 extends "int" | "float" ? T : T extends "int" | "float" ? T_92 : T_92 extends "mat4" ? T extends "vec4" ? T : T_92 : T_92 extends "mat3" ? T extends "vec3" ? T : T_92 : T_92 extends "mat2" ? T extends "vec2" ? T : T_92 : T_92 extends "vec4" ? T extends "mat4" ? T_92 : T_92 : T_92 extends "vec3" ? T extends "mat3" ? T_92 : T_92 : T_92 extends "vec2" ? T extends "mat2" ? T_92 : T_92 : T_92 : never : never) ? T_91 : T_91 extends "int" | "float" ? "float" extends infer T_93 ? T_93 extends "float" ? T_93 extends T ? T_93 : T_93 extends "int" | "float" ? T : T extends "int" | "float" ? T_93 : T_93 extends "mat4" ? T extends "vec4" ? T : T_93 : T_93 extends "mat3" ? T extends "vec3" ? T : T_93 : T_93 extends "mat2" ? T extends "vec2" ? T : T_93 : T_93 extends "vec4" ? T extends "mat4" ? T_93 : T_93 : T_93 extends "vec3" ? T extends "mat3" ? T_93 : T_93 : T_93 extends "vec2" ? T extends "mat2" ? T_93 : T_93 : T_93 : never : never : ("float" extends infer T_94 ? T_94 extends "float" ? T_94 extends T ? T_94 : T_94 extends "int" | "float" ? T : T extends "int" | "float" ? T_94 : T_94 extends "mat4" ? T extends "vec4" ? T : T_94 : T_94 extends "mat3" ? T extends "vec3" ? T : T_94 : T_94 extends "mat2" ? T extends "vec2" ? T : T_94 : T_94 extends "vec4" ? T extends "mat4" ? T_94 : T_94 : T_94 extends "vec3" ? T extends "mat3" ? T_94 : T_94 : T_94 extends "vec2" ? T extends "mat2" ? T_94 : T_94 : T_94 : never : never) extends infer T_95 ? T_95 extends ("float" extends infer T_96 ? T_96 extends "float" ? T_96 extends T ? T_96 : T_96 extends "int" | "float" ? T : T extends "int" | "float" ? T_96 : T_96 extends "mat4" ? T extends "vec4" ? T : T_96 : T_96 extends "mat3" ? T extends "vec3" ? T : T_96 : T_96 extends "mat2" ? T extends "vec2" ? T : T_96 : T_96 extends "vec4" ? T extends "mat4" ? T_96 : T_96 : T_96 extends "vec3" ? T extends "mat3" ? T_96 : T_96 : T_96 extends "vec2" ? T extends "mat2" ? T_96 : T_96 : T_96 : never : never) ? T_95 extends "int" | "float" ? T_91 : T_91 extends "mat4" ? T_95 extends "vec4" ? T_95 : T_91 : T_91 extends "mat3" ? T_95 extends "vec3" ? T_95 : T_91 : T_91 extends "mat2" ? T_95 extends "vec2" ? T_95 : T_91 : T_91 extends "vec4" ? T_95 extends "mat4" ? T_91 : T_91 : T_91 extends "vec3" ? T_95 extends "mat3" ? T_91 : T_91 : T_91 extends "vec2" ? T_95 extends "mat2" ? T_91 : T_91 : T_91 : never : never : never : never> | NodeProxy<"ivec4" extends infer T_97 ? T_97 extends "ivec4" ? T_97 extends ("float" extends infer T_98 ? T_98 extends "float" ? T_98 extends T ? T_98 : T_98 extends "int" | "float" ? T : T extends "int" | "float" ? T_98 : T_98 extends "mat4" ? T extends "vec4" ? T : T_98 : T_98 extends "mat3" ? T extends "vec3" ? T : T_98 : T_98 extends "mat2" ? T extends "vec2" ? T : T_98 : T_98 extends "vec4" ? T extends "mat4" ? T_98 : T_98 : T_98 extends "vec3" ? T extends "mat3" ? T_98 : T_98 : T_98 extends "vec2" ? T extends "mat2" ? T_98 : T_98 : T_98 : never : never) ? T_97 : T_97 extends "int" | "float" ? "float" extends infer T_99 ? T_99 extends "float" ? T_99 extends T ? T_99 : T_99 extends "int" | "float" ? T : T extends "int" | "float" ? T_99 : T_99 extends "mat4" ? T extends "vec4" ? T : T_99 : T_99 extends "mat3" ? T extends "vec3" ? T : T_99 : T_99 extends "mat2" ? T extends "vec2" ? T : T_99 : T_99 extends "vec4" ? T extends "mat4" ? T_99 : T_99 : T_99 extends "vec3" ? T extends "mat3" ? T_99 : T_99 : T_99 extends "vec2" ? T extends "mat2" ? T_99 : T_99 : T_99 : never : never : ("float" extends infer T_100 ? T_100 extends "float" ? T_100 extends T ? T_100 : T_100 extends "int" | "float" ? T : T extends "int" | "float" ? T_100 : T_100 extends "mat4" ? T extends "vec4" ? T : T_100 : T_100 extends "mat3" ? T extends "vec3" ? T : T_100 : T_100 extends "mat2" ? T extends "vec2" ? T : T_100 : T_100 extends "vec4" ? T extends "mat4" ? T_100 : T_100 : T_100 extends "vec3" ? T extends "mat3" ? T_100 : T_100 : T_100 extends "vec2" ? T extends "mat2" ? T_100 : T_100 : T_100 : never : never) extends infer T_101 ? T_101 extends ("float" extends infer T_102 ? T_102 extends "float" ? T_102 extends T ? T_102 : T_102 extends "int" | "float" ? T : T extends "int" | "float" ? T_102 : T_102 extends "mat4" ? T extends "vec4" ? T : T_102 : T_102 extends "mat3" ? T extends "vec3" ? T : T_102 : T_102 extends "mat2" ? T extends "vec2" ? T : T_102 : T_102 extends "vec4" ? T extends "mat4" ? T_102 : T_102 : T_102 extends "vec3" ? T extends "mat3" ? T_102 : T_102 : T_102 extends "vec2" ? T extends "mat2" ? T_102 : T_102 : T_102 : never : never) ? T_101 extends "int" | "float" ? T_97 : T_97 extends "mat4" ? T_101 extends "vec4" ? T_101 : T_97 : T_97 extends "mat3" ? T_101 extends "vec3" ? T_101 : T_97 : T_97 extends "mat2" ? T_101 extends "vec2" ? T_101 : T_97 : T_97 extends "vec4" ? T_101 extends "mat4" ? T_97 : T_97 : T_97 extends "vec3" ? T_101 extends "mat3" ? T_97 : T_97 : T_97 extends "vec2" ? T_101 extends "mat2" ? T_97 : T_97 : T_97 : never : never : never : never> | NodeProxy<"uvec4" extends infer T_103 ? T_103 extends "uvec4" ? T_103 extends ("float" extends infer T_104 ? T_104 extends "float" ? T_104 extends T ? T_104 : T_104 extends "int" | "float" ? T : T extends "int" | "float" ? T_104 : T_104 extends "mat4" ? T extends "vec4" ? T : T_104 : T_104 extends "mat3" ? T extends "vec3" ? T : T_104 : T_104 extends "mat2" ? T extends "vec2" ? T : T_104 : T_104 extends "vec4" ? T extends "mat4" ? T_104 : T_104 : T_104 extends "vec3" ? T extends "mat3" ? T_104 : T_104 : T_104 extends "vec2" ? T extends "mat2" ? T_104 : T_104 : T_104 : never : never) ? T_103 : T_103 extends "int" | "float" ? "float" extends infer T_105 ? T_105 extends "float" ? T_105 extends T ? T_105 : T_105 extends "int" | "float" ? T : T extends "int" | "float" ? T_105 : T_105 extends "mat4" ? T extends "vec4" ? T : T_105 : T_105 extends "mat3" ? T extends "vec3" ? T : T_105 : T_105 extends "mat2" ? T extends "vec2" ? T : T_105 : T_105 extends "vec4" ? T extends "mat4" ? T_105 : T_105 : T_105 extends "vec3" ? T extends "mat3" ? T_105 : T_105 : T_105 extends "vec2" ? T extends "mat2" ? T_105 : T_105 : T_105 : never : never : ("float" extends infer T_106 ? T_106 extends "float" ? T_106 extends T ? T_106 : T_106 extends "int" | "float" ? T : T extends "int" | "float" ? T_106 : T_106 extends "mat4" ? T extends "vec4" ? T : T_106 : T_106 extends "mat3" ? T extends "vec3" ? T : T_106 : T_106 extends "mat2" ? T extends "vec2" ? T : T_106 : T_106 extends "vec4" ? T extends "mat4" ? T_106 : T_106 : T_106 extends "vec3" ? T extends "mat3" ? T_106 : T_106 : T_106 extends "vec2" ? T extends "mat2" ? T_106 : T_106 : T_106 : never : never) extends infer T_107 ? T_107 extends ("float" extends infer T_108 ? T_108 extends "float" ? T_108 extends T ? T_108 : T_108 extends "int" | "float" ? T : T extends "int" | "float" ? T_108 : T_108 extends "mat4" ? T extends "vec4" ? T : T_108 : T_108 extends "mat3" ? T extends "vec3" ? T : T_108 : T_108 extends "mat2" ? T extends "vec2" ? T : T_108 : T_108 extends "vec4" ? T extends "mat4" ? T_108 : T_108 : T_108 extends "vec3" ? T extends "mat3" ? T_108 : T_108 : T_108 extends "vec2" ? T extends "mat2" ? T_108 : T_108 : T_108 : never : never) ? T_107 extends "int" | "float" ? T_103 : T_103 extends "mat4" ? T_107 extends "vec4" ? T_107 : T_103 : T_103 extends "mat3" ? T_107 extends "vec3" ? T_107 : T_103 : T_103 extends "mat2" ? T_107 extends "vec2" ? T_107 : T_103 : T_103 extends "vec4" ? T_107 extends "mat4" ? T_103 : T_103 : T_103 extends "vec3" ? T_107 extends "mat3" ? T_103 : T_103 : T_103 extends "vec2" ? T_107 extends "mat2" ? T_103 : T_103 : T_103 : never : never : never : never> | NodeProxy<"color" extends infer T_109 ? T_109 extends "color" ? T_109 extends ("float" extends infer T_110 ? T_110 extends "float" ? T_110 extends T ? T_110 : T_110 extends "int" | "float" ? T : T extends "int" | "float" ? T_110 : T_110 extends "mat4" ? T extends "vec4" ? T : T_110 : T_110 extends "mat3" ? T extends "vec3" ? T : T_110 : T_110 extends "mat2" ? T extends "vec2" ? T : T_110 : T_110 extends "vec4" ? T extends "mat4" ? T_110 : T_110 : T_110 extends "vec3" ? T extends "mat3" ? T_110 : T_110 : T_110 extends "vec2" ? T extends "mat2" ? T_110 : T_110 : T_110 : never : never) ? T_109 : T_109 extends "int" | "float" ? "float" extends infer T_111 ? T_111 extends "float" ? T_111 extends T ? T_111 : T_111 extends "int" | "float" ? T : T extends "int" | "float" ? T_111 : T_111 extends "mat4" ? T extends "vec4" ? T : T_111 : T_111 extends "mat3" ? T extends "vec3" ? T : T_111 : T_111 extends "mat2" ? T extends "vec2" ? T : T_111 : T_111 extends "vec4" ? T extends "mat4" ? T_111 : T_111 : T_111 extends "vec3" ? T extends "mat3" ? T_111 : T_111 : T_111 extends "vec2" ? T extends "mat2" ? T_111 : T_111 : T_111 : never : never : ("float" extends infer T_112 ? T_112 extends "float" ? T_112 extends T ? T_112 : T_112 extends "int" | "float" ? T : T extends "int" | "float" ? T_112 : T_112 extends "mat4" ? T extends "vec4" ? T : T_112 : T_112 extends "mat3" ? T extends "vec3" ? T : T_112 : T_112 extends "mat2" ? T extends "vec2" ? T : T_112 : T_112 extends "vec4" ? T extends "mat4" ? T_112 : T_112 : T_112 extends "vec3" ? T extends "mat3" ? T_112 : T_112 : T_112 extends "vec2" ? T extends "mat2" ? T_112 : T_112 : T_112 : never : never) extends infer T_113 ? T_113 extends ("float" extends infer T_114 ? T_114 extends "float" ? T_114 extends T ? T_114 : T_114 extends "int" | "float" ? T : T extends "int" | "float" ? T_114 : T_114 extends "mat4" ? T extends "vec4" ? T : T_114 : T_114 extends "mat3" ? T extends "vec3" ? T : T_114 : T_114 extends "mat2" ? T extends "vec2" ? T : T_114 : T_114 extends "vec4" ? T extends "mat4" ? T_114 : T_114 : T_114 extends "vec3" ? T extends "mat3" ? T_114 : T_114 : T_114 extends "vec2" ? T extends "mat2" ? T_114 : T_114 : T_114 : never : never) ? T_113 extends "int" | "float" ? T_109 : T_109 extends "mat4" ? T_113 extends "vec4" ? T_113 : T_109 : T_109 extends "mat3" ? T_113 extends "vec3" ? T_113 : T_109 : T_109 extends "mat2" ? T_113 extends "vec2" ? T_113 : T_109 : T_109 extends "vec4" ? T_113 extends "mat4" ? T_109 : T_109 : T_109 extends "vec3" ? T_113 extends "mat3" ? T_109 : T_109 : T_109 extends "vec2" ? T_113 extends "mat2" ? T_109 : T_109 : T_109 : never : never : never : never> | NodeProxy<"mat2" extends infer T_115 ? T_115 extends "mat2" ? T_115 extends ("float" extends infer T_116 ? T_116 extends "float" ? T_116 extends T ? T_116 : T_116 extends "int" | "float" ? T : T extends "int" | "float" ? T_116 : T_116 extends "mat4" ? T extends "vec4" ? T : T_116 : T_116 extends "mat3" ? T extends "vec3" ? T : T_116 : T_116 extends "mat2" ? T extends "vec2" ? T : T_116 : T_116 extends "vec4" ? T extends "mat4" ? T_116 : T_116 : T_116 extends "vec3" ? T extends "mat3" ? T_116 : T_116 : T_116 extends "vec2" ? T extends "mat2" ? T_116 : T_116 : T_116 : never : never) ? T_115 : T_115 extends "int" | "float" ? "float" extends infer T_117 ? T_117 extends "float" ? T_117 extends T ? T_117 : T_117 extends "int" | "float" ? T : T extends "int" | "float" ? T_117 : T_117 extends "mat4" ? T extends "vec4" ? T : T_117 : T_117 extends "mat3" ? T extends "vec3" ? T : T_117 : T_117 extends "mat2" ? T extends "vec2" ? T : T_117 : T_117 extends "vec4" ? T extends "mat4" ? T_117 : T_117 : T_117 extends "vec3" ? T extends "mat3" ? T_117 : T_117 : T_117 extends "vec2" ? T extends "mat2" ? T_117 : T_117 : T_117 : never : never : ("float" extends infer T_118 ? T_118 extends "float" ? T_118 extends T ? T_118 : T_118 extends "int" | "float" ? T : T extends "int" | "float" ? T_118 : T_118 extends "mat4" ? T extends "vec4" ? T : T_118 : T_118 extends "mat3" ? T extends "vec3" ? T : T_118 : T_118 extends "mat2" ? T extends "vec2" ? T : T_118 : T_118 extends "vec4" ? T extends "mat4" ? T_118 : T_118 : T_118 extends "vec3" ? T extends "mat3" ? T_118 : T_118 : T_118 extends "vec2" ? T extends "mat2" ? T_118 : T_118 : T_118 : never : never) extends infer T_119 ? T_119 extends ("float" extends infer T_120 ? T_120 extends "float" ? T_120 extends T ? T_120 : T_120 extends "int" | "float" ? T : T extends "int" | "float" ? T_120 : T_120 extends "mat4" ? T extends "vec4" ? T : T_120 : T_120 extends "mat3" ? T extends "vec3" ? T : T_120 : T_120 extends "mat2" ? T extends "vec2" ? T : T_120 : T_120 extends "vec4" ? T extends "mat4" ? T_120 : T_120 : T_120 extends "vec3" ? T extends "mat3" ? T_120 : T_120 : T_120 extends "vec2" ? T extends "mat2" ? T_120 : T_120 : T_120 : never : never) ? T_119 extends "int" | "float" ? T_115 : T_115 extends "mat4" ? T_119 extends "vec4" ? T_119 : T_115 : T_115 extends "mat3" ? T_119 extends "vec3" ? T_119 : T_115 : T_115 extends "mat2" ? T_119 extends "vec2" ? T_119 : T_115 : T_115 extends "vec4" ? T_119 extends "mat4" ? T_115 : T_115 : T_115 extends "vec3" ? T_119 extends "mat3" ? T_115 : T_115 : T_115 extends "vec2" ? T_119 extends "mat2" ? T_115 : T_115 : T_115 : never : never : never : never> | NodeProxy<"mat3" extends infer T_121 ? T_121 extends "mat3" ? T_121 extends ("float" extends infer T_122 ? T_122 extends "float" ? T_122 extends T ? T_122 : T_122 extends "int" | "float" ? T : T extends "int" | "float" ? T_122 : T_122 extends "mat4" ? T extends "vec4" ? T : T_122 : T_122 extends "mat3" ? T extends "vec3" ? T : T_122 : T_122 extends "mat2" ? T extends "vec2" ? T : T_122 : T_122 extends "vec4" ? T extends "mat4" ? T_122 : T_122 : T_122 extends "vec3" ? T extends "mat3" ? T_122 : T_122 : T_122 extends "vec2" ? T extends "mat2" ? T_122 : T_122 : T_122 : never : never) ? T_121 : T_121 extends "int" | "float" ? "float" extends infer T_123 ? T_123 extends "float" ? T_123 extends T ? T_123 : T_123 extends "int" | "float" ? T : T extends "int" | "float" ? T_123 : T_123 extends "mat4" ? T extends "vec4" ? T : T_123 : T_123 extends "mat3" ? T extends "vec3" ? T : T_123 : T_123 extends "mat2" ? T extends "vec2" ? T : T_123 : T_123 extends "vec4" ? T extends "mat4" ? T_123 : T_123 : T_123 extends "vec3" ? T extends "mat3" ? T_123 : T_123 : T_123 extends "vec2" ? T extends "mat2" ? T_123 : T_123 : T_123 : never : never : ("float" extends infer T_124 ? T_124 extends "float" ? T_124 extends T ? T_124 : T_124 extends "int" | "float" ? T : T extends "int" | "float" ? T_124 : T_124 extends "mat4" ? T extends "vec4" ? T : T_124 : T_124 extends "mat3" ? T extends "vec3" ? T : T_124 : T_124 extends "mat2" ? T extends "vec2" ? T : T_124 : T_124 extends "vec4" ? T extends "mat4" ? T_124 : T_124 : T_124 extends "vec3" ? T extends "mat3" ? T_124 : T_124 : T_124 extends "vec2" ? T extends "mat2" ? T_124 : T_124 : T_124 : never : never) extends infer T_125 ? T_125 extends ("float" extends infer T_126 ? T_126 extends "float" ? T_126 extends T ? T_126 : T_126 extends "int" | "float" ? T : T extends "int" | "float" ? T_126 : T_126 extends "mat4" ? T extends "vec4" ? T : T_126 : T_126 extends "mat3" ? T extends "vec3" ? T : T_126 : T_126 extends "mat2" ? T extends "vec2" ? T : T_126 : T_126 extends "vec4" ? T extends "mat4" ? T_126 : T_126 : T_126 extends "vec3" ? T extends "mat3" ? T_126 : T_126 : T_126 extends "vec2" ? T extends "mat2" ? T_126 : T_126 : T_126 : never : never) ? T_125 extends "int" | "float" ? T_121 : T_121 extends "mat4" ? T_125 extends "vec4" ? T_125 : T_121 : T_121 extends "mat3" ? T_125 extends "vec3" ? T_125 : T_121 : T_121 extends "mat2" ? T_125 extends "vec2" ? T_125 : T_121 : T_121 extends "vec4" ? T_125 extends "mat4" ? T_121 : T_121 : T_121 extends "vec3" ? T_125 extends "mat3" ? T_121 : T_121 : T_121 extends "vec2" ? T_125 extends "mat2" ? T_121 : T_121 : T_121 : never : never : never : never> | NodeProxy<"mat4" extends infer T_127 ? T_127 extends "mat4" ? T_127 extends ("float" extends infer T_128 ? T_128 extends "float" ? T_128 extends T ? T_128 : T_128 extends "int" | "float" ? T : T extends "int" | "float" ? T_128 : T_128 extends "mat4" ? T extends "vec4" ? T : T_128 : T_128 extends "mat3" ? T extends "vec3" ? T : T_128 : T_128 extends "mat2" ? T extends "vec2" ? T : T_128 : T_128 extends "vec4" ? T extends "mat4" ? T_128 : T_128 : T_128 extends "vec3" ? T extends "mat3" ? T_128 : T_128 : T_128 extends "vec2" ? T extends "mat2" ? T_128 : T_128 : T_128 : never : never) ? T_127 : T_127 extends "int" | "float" ? "float" extends infer T_129 ? T_129 extends "float" ? T_129 extends T ? T_129 : T_129 extends "int" | "float" ? T : T extends "int" | "float" ? T_129 : T_129 extends "mat4" ? T extends "vec4" ? T : T_129 : T_129 extends "mat3" ? T extends "vec3" ? T : T_129 : T_129 extends "mat2" ? T extends "vec2" ? T : T_129 : T_129 extends "vec4" ? T extends "mat4" ? T_129 : T_129 : T_129 extends "vec3" ? T extends "mat3" ? T_129 : T_129 : T_129 extends "vec2" ? T extends "mat2" ? T_129 : T_129 : T_129 : never : never : ("float" extends infer T_130 ? T_130 extends "float" ? T_130 extends T ? T_130 : T_130 extends "int" | "float" ? T : T extends "int" | "float" ? T_130 : T_130 extends "mat4" ? T extends "vec4" ? T : T_130 : T_130 extends "mat3" ? T extends "vec3" ? T : T_130 : T_130 extends "mat2" ? T extends "vec2" ? T : T_130 : T_130 extends "vec4" ? T extends "mat4" ? T_130 : T_130 : T_130 extends "vec3" ? T extends "mat3" ? T_130 : T_130 : T_130 extends "vec2" ? T extends "mat2" ? T_130 : T_130 : T_130 : never : never) extends infer T_131 ? T_131 extends ("float" extends infer T_132 ? T_132 extends "float" ? T_132 extends T ? T_132 : T_132 extends "int" | "float" ? T : T extends "int" | "float" ? T_132 : T_132 extends "mat4" ? T extends "vec4" ? T : T_132 : T_132 extends "mat3" ? T extends "vec3" ? T : T_132 : T_132 extends "mat2" ? T extends "vec2" ? T : T_132 : T_132 extends "vec4" ? T extends "mat4" ? T_132 : T_132 : T_132 extends "vec3" ? T extends "mat3" ? T_132 : T_132 : T_132 extends "vec2" ? T extends "mat2" ? T_132 : T_132 : T_132 : never : never) ? T_131 extends "int" | "float" ? T_127 : T_127 extends "mat4" ? T_131 extends "vec4" ? T_131 : T_127 : T_127 extends "mat3" ? T_131 extends "vec3" ? T_131 : T_127 : T_127 extends "mat2" ? T_131 extends "vec2" ? T_131 : T_127 : T_127 extends "vec4" ? T_131 extends "mat4" ? T_127 : T_127 : T_127 extends "vec3" ? T_131 extends "mat3" ? T_127 : T_127 : T_127 extends "vec2" ? T_131 extends "mat2" ? T_127 : T_127 : T_127 : never : never : never : never> | NodeProxy<"sampler2D" extends infer T_133 ? T_133 extends "sampler2D" ? T_133 extends ("float" extends infer T_134 ? T_134 extends "float" ? T_134 extends T ? T_134 : T_134 extends "int" | "float" ? T : T extends "int" | "float" ? T_134 : T_134 extends "mat4" ? T extends "vec4" ? T : T_134 : T_134 extends "mat3" ? T extends "vec3" ? T : T_134 : T_134 extends "mat2" ? T extends "vec2" ? T : T_134 : T_134 extends "vec4" ? T extends "mat4" ? T_134 : T_134 : T_134 extends "vec3" ? T extends "mat3" ? T_134 : T_134 : T_134 extends "vec2" ? T extends "mat2" ? T_134 : T_134 : T_134 : never : never) ? T_133 : T_133 extends "int" | "float" ? "float" extends infer T_135 ? T_135 extends "float" ? T_135 extends T ? T_135 : T_135 extends "int" | "float" ? T : T extends "int" | "float" ? T_135 : T_135 extends "mat4" ? T extends "vec4" ? T : T_135 : T_135 extends "mat3" ? T extends "vec3" ? T : T_135 : T_135 extends "mat2" ? T extends "vec2" ? T : T_135 : T_135 extends "vec4" ? T extends "mat4" ? T_135 : T_135 : T_135 extends "vec3" ? T extends "mat3" ? T_135 : T_135 : T_135 extends "vec2" ? T extends "mat2" ? T_135 : T_135 : T_135 : never : never : ("float" extends infer T_136 ? T_136 extends "float" ? T_136 extends T ? T_136 : T_136 extends "int" | "float" ? T : T extends "int" | "float" ? T_136 : T_136 extends "mat4" ? T extends "vec4" ? T : T_136 : T_136 extends "mat3" ? T extends "vec3" ? T : T_136 : T_136 extends "mat2" ? T extends "vec2" ? T : T_136 : T_136 extends "vec4" ? T extends "mat4" ? T_136 : T_136 : T_136 extends "vec3" ? T extends "mat3" ? T_136 : T_136 : T_136 extends "vec2" ? T extends "mat2" ? T_136 : T_136 : T_136 : never : never) extends infer T_137 ? T_137 extends ("float" extends infer T_138 ? T_138 extends "float" ? T_138 extends T ? T_138 : T_138 extends "int" | "float" ? T : T extends "int" | "float" ? T_138 : T_138 extends "mat4" ? T extends "vec4" ? T : T_138 : T_138 extends "mat3" ? T extends "vec3" ? T : T_138 : T_138 extends "mat2" ? T extends "vec2" ? T : T_138 : T_138 extends "vec4" ? T extends "mat4" ? T_138 : T_138 : T_138 extends "vec3" ? T extends "mat3" ? T_138 : T_138 : T_138 extends "vec2" ? T extends "mat2" ? T_138 : T_138 : T_138 : never : never) ? T_137 extends "int" | "float" ? T_133 : T_133 extends "mat4" ? T_137 extends "vec4" ? T_137 : T_133 : T_133 extends "mat3" ? T_137 extends "vec3" ? T_137 : T_133 : T_133 extends "mat2" ? T_137 extends "vec2" ? T_137 : T_133 : T_133 extends "vec4" ? T_137 extends "mat4" ? T_133 : T_133 : T_133 extends "vec3" ? T_137 extends "mat3" ? T_133 : T_133 : T_133 extends "vec2" ? T_137 extends "mat2" ? T_133 : T_133 : T_133 : never : never : never : never> | NodeProxy<"struct" extends infer T_139 ? T_139 extends "struct" ? T_139 extends ("float" extends infer T_140 ? T_140 extends "float" ? T_140 extends T ? T_140 : T_140 extends "int" | "float" ? T : T extends "int" | "float" ? T_140 : T_140 extends "mat4" ? T extends "vec4" ? T : T_140 : T_140 extends "mat3" ? T extends "vec3" ? T : T_140 : T_140 extends "mat2" ? T extends "vec2" ? T : T_140 : T_140 extends "vec4" ? T extends "mat4" ? T_140 : T_140 : T_140 extends "vec3" ? T extends "mat3" ? T_140 : T_140 : T_140 extends "vec2" ? T extends "mat2" ? T_140 : T_140 : T_140 : never : never) ? T_139 : T_139 extends "int" | "float" ? "float" extends infer T_141 ? T_141 extends "float" ? T_141 extends T ? T_141 : T_141 extends "int" | "float" ? T : T extends "int" | "float" ? T_141 : T_141 extends "mat4" ? T extends "vec4" ? T : T_141 : T_141 extends "mat3" ? T extends "vec3" ? T : T_141 : T_141 extends "mat2" ? T extends "vec2" ? T : T_141 : T_141 extends "vec4" ? T extends "mat4" ? T_141 : T_141 : T_141 extends "vec3" ? T extends "mat3" ? T_141 : T_141 : T_141 extends "vec2" ? T extends "mat2" ? T_141 : T_141 : T_141 : never : never : ("float" extends infer T_142 ? T_142 extends "float" ? T_142 extends T ? T_142 : T_142 extends "int" | "float" ? T : T extends "int" | "float" ? T_142 : T_142 extends "mat4" ? T extends "vec4" ? T : T_142 : T_142 extends "mat3" ? T extends "vec3" ? T : T_142 : T_142 extends "mat2" ? T extends "vec2" ? T : T_142 : T_142 extends "vec4" ? T extends "mat4" ? T_142 : T_142 : T_142 extends "vec3" ? T extends "mat3" ? T_142 : T_142 : T_142 extends "vec2" ? T extends "mat2" ? T_142 : T_142 : T_142 : never : never) extends infer T_143 ? T_143 extends ("float" extends infer T_144 ? T_144 extends "float" ? T_144 extends T ? T_144 : T_144 extends "int" | "float" ? T : T extends "int" | "float" ? T_144 : T_144 extends "mat4" ? T extends "vec4" ? T : T_144 : T_144 extends "mat3" ? T extends "vec3" ? T : T_144 : T_144 extends "mat2" ? T extends "vec2" ? T : T_144 : T_144 extends "vec4" ? T extends "mat4" ? T_144 : T_144 : T_144 extends "vec3" ? T extends "mat3" ? T_144 : T_144 : T_144 extends "vec2" ? T extends "mat2" ? T_144 : T_144 : T_144 : never : never) ? T_143 extends "int" | "float" ? T_139 : T_139 extends "mat4" ? T_143 extends "vec4" ? T_143 : T_139 : T_139 extends "mat3" ? T_143 extends "vec3" ? T_143 : T_139 : T_139 extends "mat2" ? T_143 extends "vec2" ? T_143 : T_139 : T_139 extends "vec4" ? T_143 extends "mat4" ? T_139 : T_139 : T_139 extends "vec3" ? T_143 extends "mat3" ? T_139 : T_139 : T_139 extends "vec2" ? T_143 extends "mat2" ? T_139 : T_139 : T_139 : never : never : never : never>;
1898
462
 
1899
463
  type GL = EventState<{
1900
464
  /**
@@ -1911,15 +475,16 @@ type GL = EventState<{
1911
475
  mouse: [number, number];
1912
476
  count: number;
1913
477
  loading: number;
478
+ particles: 64 | 256 | 576 | 1024 | 1600 | 2304 | 3136 | 4096 | 4096 | 5184 | 6400;
1914
479
  el: HTMLCanvasElement;
1915
480
  vs?: string | Vec4;
1916
- cs?: string | Vec4;
481
+ cs?: string | Void;
1917
482
  fs?: string | Vec4;
1918
483
  vert?: string | Vec4;
1919
- comp?: string | Vec4;
484
+ comp?: string | Void;
1920
485
  frag?: string | Vec4;
1921
486
  vertex?: string | Vec4;
1922
- compute?: string | Vec4;
487
+ compute?: string | Void;
1923
488
  fragment?: string | Vec4;
1924
489
  /**
1925
490
  * core state
@@ -2008,6 +573,7 @@ interface WebGPUState {
2008
573
  interface WebGLState {
2009
574
  context: WebGLRenderingContext;
2010
575
  program: WebGLProgram;
576
+ storages: any;
2011
577
  }
2012
578
 
2013
579
  declare const webgl: (gl: GL) => Promise<{
@@ -2017,7 +583,7 @@ declare const webgl: (gl: GL) => Promise<{
2017
583
  _attribute: (key: string | undefined, value: number[], iboValue: number[]) => void;
2018
584
  _uniform: (key: string, value: number | number[]) => void;
2019
585
  _texture: (key: string, src: string) => void;
2020
- _storage: (key: string, value: number[] | Float32Array) => void;
586
+ _storage: ((key: string, value: number[]) => void) | undefined;
2021
587
  }>;
2022
588
 
2023
589
  declare const webgpu: (gl: GL) => Promise<{
@@ -2046,15 +612,16 @@ declare const createGL: (props?: Partial<GL>) => EventState<{
2046
612
  mouse: [number, number];
2047
613
  count: number;
2048
614
  loading: number;
615
+ particles: 64 | 256 | 576 | 1024 | 1600 | 2304 | 3136 | 4096 | 4096 | 5184 | 6400;
2049
616
  el: HTMLCanvasElement;
2050
617
  vs?: string | Vec4;
2051
- cs?: string | Vec4;
618
+ cs?: string | Void;
2052
619
  fs?: string | Vec4;
2053
620
  vert?: string | Vec4;
2054
- comp?: string | Vec4;
621
+ comp?: string | Void;
2055
622
  frag?: string | Vec4;
2056
623
  vertex?: string | Vec4;
2057
- compute?: string | Vec4;
624
+ compute?: string | Void;
2058
625
  fragment?: string | Vec4;
2059
626
  webgpu: WebGPUState;
2060
627
  webgl: WebGLState;
@@ -2091,4 +658,4 @@ declare const createGL: (props?: Partial<GL>) => EventState<{
2091
658
  }): GL;
2092
659
  }, any[] | unknown[]>;
2093
660
 
2094
- export { AttribData, BVec2, BVec3, BVec4, BaseNodeProxy, Bool, Color, Constants, ConstantsToType, Conversions, Float, Fn, FnLayout, Functions, GL, IVec2, IVec3, IVec4, If, Int, Loop, Mat2, Mat3, Mat4, NodeContext, NodeProps, NodeProxy, NodeTypes, Operators, Return, Sampler2D, StorageData, Struct, Switch, Swizzles, Texture, TextureData, UInt, UVec2, UVec3, UVec4, UniformData, Vec2, Vec3, Vec4, WebGLState, WebGPUState, X, abs, acos, acosh, all, any, asin, asinh, assign, atan, atan2, atanh, attribute, bitcast, bool, builtin, bvec2, bvec3, bvec4, cbrt, ceil, clamp, color, compute, constant, conversion, cos, cosh, createGL, cross, cubeTexture, dFdx, dFdy, createGL as default, degrees, difference, distance, dot, element, equals, exp, exp2, faceforward, float, floor, fract, fragDepth, fragment, frontFacing, function_, fwidth, iMouse, iResolution, iTime, instanceIndex, int, inverseSqrt, isGL, isServer, isWebGPUSupported, ivec2, ivec3, ivec4, length, lengthSq, log, log2, mat2, mat3, mat4, max, member, min, mix, mod, negate, node, normalLocal, normalView, normalWorld, normalize, oneMinus, operator, pointCoord, position, positionLocal, positionView, positionWorld, pow, pow2, pow3, pow4, radians, reciprocal, reflect, refract, round, sampleIndex, sampleMask, sampler2D, saturate, screenCoordinate, screenUV, select, sign, sin, sinh, smoothstep, sqrt, step, struct, tan, tanh, texture, texture2D, textureSize, toVar, transformDirection, trunc, uint, uniform, uv, uvec2, uvec3, uvec4, variable, vec2, vec3, vec4, vertex, vertexIndex, vertexStage, webgl, webgpu };
661
+ export { AttribData, BVec2, BVec3, BVec4, BaseNodeProxy, Bool, Color, Constants, ConstantsToType, Conversions, Float, Fn, FnLayout, FnType, Functions, GL, IVec2, IVec3, IVec4, If, Int, Loop, Mat2, Mat3, Mat4, NodeContext, NodeProps, NodeProxy, NodeTypes, Operators, Return, Sampler2D, StorageData, Struct, StructFactory, StructFields, StructNode, Switch, Swizzles, Texture, TextureData, UInt, UVec2, UVec3, UVec4, UniformData, Vec2, Vec3, Vec4, Void, WebGLState, WebGPUState, X, abs, acos, acosh, all, any, asin, asinh, assign, atan, atan2, atanh, attribute, bool, builtin, bvec2, bvec3, bvec4, ceil, clamp, color, compute, constant, conversion, cos, cosh, createGL, cross, cubeTexture, dFdx, dFdy, createGL as default, degrees, distance, dot, element, exp, exp2, float, floor, fract, fragDepth, fragment, frontFacing, function_, fwidth, gather, iMouse, iResolution, iTime, id, instanceIndex, int, inverseSqrt, isGL, isServer, isWebGPUSupported, ivec2, ivec3, ivec4, length, lengthSq, log, log2, mat2, mat3, mat4, max, member, min, mix, mod, negate, node, normalLocal, normalView, normalWorld, normalize, oneMinus, operator, pointCoord, position, positionLocal, positionView, positionWorld, pow, radians, reciprocal, reflect, refract, round, sampleIndex, sampleMask, sampler2D, saturate, scatter, screenCoordinate, screenUV, select, sign, sin, sinh, smoothstep, sqrt, step, storage, struct, tan, tanh, texelFetch, texture, texture2D, textureLod, toVar, trunc, uint, uniform, uv, uvec2, uvec3, uvec4, variable, vec2, vec3, vec4, vertex, vertexIndex, vertexStage, webgl, webgpu };